python表格..docVIP

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
python表格.

WxPythonInAction/ChapterFourteen 窗体顶端 ?? 窗体底端 登录 首页 CPUG OpenBookProject 行者堂 更新 搜索 帮助 ChapterFourteen 只读网页 信息 附件 ? ?????????????????????? ? ? 窗体底端 14?网格(grid)控件 本章内容包括: 创建网格(grid) 添加行和单元格(cell),并且处理列的首部 使用一个自定义的单元格(cell)描绘器(renderer) 创建自定义的编辑器 捕获用户事件 网格控件大概是wxPython中最复杂和最灵活的一个窗口部件。在这一章,你将有机会接触到这个控件的许多特性。我们将讨论如何输入数据到网格控件以及如何处理该控件的显示属性,并且我们还将讨论自定义编辑器和描绘器。网格控件使你能够在一个类似电子表格格式的网格中显示表格数据。该控件允许你为行和列指定标签,以及通过拖动网格线来改变网格的大小,并且可以为每个单元格单独指定字体和颜色属性。 在最常见的情况下,你一般会显示一个简单的字符串值。然而,你也能为任一单元格指定一个自定义的描绘器,以使你能够显示不同的数据;你可以有编辑表中的单元格,并且对不同的数据使用不同类型的编辑器。你还能够创建你自己自定义的描绘器和编辑器,这使得你在单元格数据的显示和处理上可以非常的灵活,几乎没有什么限制。网格控件还有大量的鼠标和键盘事件,你可以程序中捕获它们并用来触发相关的代码。 我们将通过展示两个创建wxPython网格的方法来作为我们讨论的开始。 创建你的网格 网格控件是用以显示一个二维的数据集的。要使用该控件显示有用的信息,你需要告诉该控件它工作所基于的是什么数据。在wxPython中,有两种不同的机制用于在网格控件中处理数据,它们之间在处理数据的添加,删除和编辑的方式上有些许的不同。 * 网格控件可以直接处理每行和每列中的值。 * 数据可以通过使用一个网格表(grid?table)来间接地处理。 较简单的一种是使用网格控件直接处理值。在这种情况下,网格维护着数据的一份拷贝。在这种情况下,如果有大量的数据或你的应用程序已经有了一个现存的网格类的数据结构,那么这可能显得比较笨拙。如果是这样,你可以使用一个网格表来处理该网格的数据。参见第5章来回顾一下在MVC架构中,网格表是如何被作为一个模型的。 如何创建一个简单的网格? 尽管网格控件有大量的方法用于控件精确的显示和数据的管理,但时开始使用一个网格控件是十分简单的。图14.1显示了一个简单的网格,其中的单元格中添加了一些字符串数据。 图14.1 网格控件是类wx.grid.Grid的实例。由于网格类及相关类的尺寸的原因,实际中许多的程序都不使用它,wxPython的网格类存在于它们自己的模块中,它们不会被自动导入到核心的名字空间中。wx.grid.Grid的构造函数类似于其它的控件的构造函数。 切换行号显示 1 wx.grid.Grid(parent, id, pos=wx.DefaultPosition, 2 size=wx.DefaultSize, style=wx.WANTS_CHARS, 3 name=wxPanelNameStr) 其中的所有的参数与wx.Window的构造函数是相同的,并且有相同的意义。wx.WANTS_CHARS样式是网格的默认样式,除此之外,wx.grid.Grid没有为自己定义特别的样式。由于网格类的复杂性,所以在程序中,你一般要自定义网格类的一个子类来实现一个网格,而非直接使用wx.grid.Grid的一个实例。 和我们所见过的别的控件不同,调用该构造函数不足以创建一个可用的网格。有两个方法用以初始化网格 *?CreateGrid()?*?SetTable() 在这一节,我们将讨论一个方法,第二个方法将在网格表的讨论中提及。 要显式地初始化网格,可以使用方法CreateGrid(numRows,?numCols,?selmode=wx.grid.Grid.SelectCells)。这个方法应该在构造函数之后被直接地调用,并用必须在网格被显示之前调用。参数numRows,?numCols指定了网格的初始大小。参数selmode指定了网格中单元格的选择模式,默认值是wx.grid.Grid.SelectCells,意思是一次只选择一个单元格。其它的值有wx.grid.Grid.SelectRows,意思是一次选择整个行,wx.grid.Grid.SelectionColumns,意思是一次选择整个列。创建之后,你可以使用方法GetSelectionMode()来访问选择模式,并且你可以使用方法SetSelectionMode(m

文档评论(0)

xznh + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档