文章导航

wx.grid.Grid

Grid这个控件主要是用于显示和编辑表格数据。

控件样式在OS X 系统下显示样式

使用样例

import wx

import wx.grid

class GridFrame(wx.Frame):

def __init__(self, parent):

wx.Frame.__init__(self, parent)

# Create a wxGrid object

grid = wx.grid.Grid(self, -1)

# Then we call CreateGrid to set the dimensions of the grid

# (100 rows and 10 columns in this example)

grid.CreateGrid(100, 10)

# We can set the sizes of individual rows and columns

# in pixels

grid.SetRowSize(0, 60)

grid.SetColSize(0, 120)

# And set grid cell contents as strings

grid.SetCellValue(0, 0, 'wxGrid is good')

# We can specify that some cells are read.only

grid.SetCellValue(0, 3, 'This is read.only')

grid.SetReadOnly(0, 3)

# Colours can be specified for grid cell contents

grid.SetCellValue(3, 3, 'green on grey')

grid.SetCellTextColour(3, 3, wx.GREEN)

grid.SetCellBackgroundColour(3, 3, wx.LIGHT_GREY)

# We can specify the some cells will store numeric

# values rather than strings. Here we set grid column 5

# to hold floating point values displayed with width of 6

# and precision of 2

grid.SetColFormatFloat(5, 6, 2)

grid.SetCellValue(0, 6, '3.1415')

self.Show()

if __name__ == '__main__':

app = wx.App(0)

frame = GridFrame(None)

app.MainLoop()

这个demo 是从官方文档中摘取的

英语好的亲们 ,直接看代码上的注释就好了,在此只把一些关键方法提出来说明一下。

CreateGrid 方法

可以使用该方法初始化一个固定行数、列数的Grid界面。行列数创建后仍可以使用方法增加行列。

grid.CreateGrid(100, 10)

1

SetCellValue 方法

可以使用SetCellValue 将指定行列的单元格内的值进行设置。

grid.SetCellValue(0, 0, 'wxGrid is good')

1

SetRowLabelValue 、 SetColLabelValue

可以用于改变行标签、列标签。样例界面中,行标签 1、2、3等, 列标签A、B、C等。

SetRowLabelValue第一个参数代表的是当前第几行

SetColLabelValue第一个参数代表的是当前第几列

grid.SetRowLabelValue(0,"1") //第一行标签 1

grid.SetColLabelValue(0,"A") //第一列标签 A

1

2

以上几个方法就可以做一个简单的数据展示grid了!

事件

关于grid有几个关键的事件说明一下

事件说明

EVT_GRID_CELL_CHANGING

单元格内数据发生变化中

EVT_GRID_CELL_CHANGED

单元格内数据发生变化后

EVT_GRID_CELL_LEFT_CLICK

左键单击单元格

EVT_GRID_CELL_LEFT_DCLICK

左键双击单元格

EVT_GRID_CELL_RIGHT_CLICK

右键单击单元格

EVT_GRID_CELL_RIGHT_DCLICK

右键双击单元格

EVT_GRID_SELECT_CELL

选中单元格事件

绑定事件代码

self.Bind(wx.EVT_GRID_CELL_CHANGED,self.cellChanged,self.grid)

1

第一个参数:事件

第二个参数:响应方法

第三个参数:事件对象

响应方法需要特别提示一下:

方法必须有一个event 参数 不然无法响应。

def cellChanged(self , event) :

//todo write event response code

1

2

疑问

在文档中,有个说明,就是在大型数据展示的时候,可以使用setTable(),方法设置一个wx.grid.GridTableBase的自定义子类。这样就可以做到数据与界面逻辑分离。

但是我写了一个GridTableBase的子类,setTable后并没有什么反应。不知道是怎么回事。只能是使用setCellValue 方法 循环将数据放置在grid上。

有大牛知道这个东西在 wxPython 4 中怎么使用吗。可以给小弟一个demo参考一下吗?

wxpython中表格顶角怎么设置_46-wxpython 4 使用 grid 展示表格相关推荐

  1. wxpython中表格顶角怎么设置,wxpython listctrl并修复列宽

    我正在尝试使面板中的"表格"看起来更好.我遇到的问题是表格填满了面板,但所有内容都在左侧.我希望每列的大小均相同,并跨越面板的整个宽度.我已经看过ListCtrlAutoWidth ...

  2. wxpython中表格顶角怎么设置_wxpython编程之 grid(数据表格) | 学步园

    构建Grid方法,效果如下: 其它构建grid方法和grid的使用见:还可以见下载资源中的wxpython教程第5章的 gridGeneric.py gridModel.py gridNoModel. ...

  3. wxpython中表格顶角怎么设置_当wxGrid中的某个单元格以编程方式更改时,突出显示该行中的一行(使用wxPython)...

    您做的是正确的,唯一的问题是您可能没有在GridTableBase更新之后手动刷新网格.这里有一个小的工作例子,希望能帮到你.在import wx, wx.grid class GridData(wx ...

  4. wxpython中grid控件一些用法总结

    1. 官网主动查找控件的使用方法 wxpython中grid控件的用法可以通过搜索wxpython网址查看使用方法说明.网址:https://docs.wxpython.org/index.html ...

  5. wxPython中XRC文件对 i18N的支持

    有关XRC I18N的第一个中文文档. 转自 [python-chinese] [python-chinese] 用XRC生成wxPython的界面,如何实现I18N呢? Hong Yuan hong ...

  6. 在PHP中给表格加上css样式,表格CSS样式设置 给table表格设置CSS样式表

    表格table tr td CSS花色设置 给table表格设置CSS花式表 在一个网页中多处运用了表格table标签,这个时候给指定的表格对象设置装备摆设款式仿照照旧概略经由CSS发展管束配置. 着 ...

  7. wxpython中的所有文本框都是TextCtrl,不同的形式的文本框通过样式来实现,下面创建了一个密码输入框...

    ''' wx.TE_CENTER:控件中的文本居中. wx.TE_LEFT:控件中的文本左对齐.默认行为. wx.TE_NOHIDESEL:文本始终高亮显示,只适用于Windows. wx.TE_PA ...

  8. wxpython是什么_请问wxpython中 event传递的什么参数?

    最近捣鼓Python,也就自然捣鼓上了wxPython.我曾经用过Qt和Gtk+写GUI,但几乎所有的Python书都告诉我说最好用的是wxPython,我没有尝试PyQt和PyGtk就开始研究wxP ...

  9. php中td的属性设置,html table表格是什么?table标签中各种属性的使用方法

    html table表格是什么? 首先让我们了解什么是表格,还有表格的作用 什么是table表格:由一些 被称之为 单元格的矩形框 按照从左到右从上到下的顺序排列到一起组成的 table表格的作用:以 ...

最新文章

  1. 计算机网络各种传输介质说明
  2. JAVA实现用两个栈来实现一个队列,完成队列的Push和Pop操作(《剑指offer》)
  3. Java NIO(一) Java NIO 概述
  4. Python入门100题 | 第075题
  5. 基于UDP/TCP的网络协议(端口分配)
  6. Xshell 使用数字小键盘进行vim 写入操作.
  7. webpack打包样式资源_使用loader去打包css文件_打包less文件---webpack工作笔记004
  8. python为mysql设置id自增长_python mysql自增字段AUTO_INCREMENT值的修改方式
  9. Python源码深度解析—float类型对象
  10. 入门级详细USB移植教程——致正在为USB烦恼的朋友
  11. eclipse中文版官方下载
  12. c语言 电阻器的分类,电阻器的分类
  13. 住宅IP和机房IP有什么区别,爬虫用哪种好?
  14. android 苹果备忘录,你会不会用苹果备忘录?白白放弃这么逆天的功能,不如换安卓机!...
  15. Python:20行代码爬取高质量帅哥美女视频,让你一次看个够
  16. 教程:简单十步,在 iTunes 申请 App Store 退款
  17. Angular 4入门教程系列:14:PrimeNG的使用方式
  18. PCB 设计技巧一百问
  19. [零刻]EQ12EQ12Pro安装OpenWRT软路由教程
  20. 沟通的艺术(笔记)——前言

热门文章

  1. 为开启VM虚拟化,关闭Win10的Hyper-V
  2. 常见的五种神经网络(4)-深度信念网络(下)篇之深度信念网络的原理解读、参数学习
  3. 搜索与回溯:迷宫问题(migong)
  4. 大数据开发方向分享:春招获蚂蚁金服、拼多多、华为(终端)、远景能源、华泰证券等offer
  5. 520表白——送她一片星空模拟
  6. 黄芪桂圆枸杞红枣茶的作用
  7. 腾讯微信技术总监:十亿用户增长背后的架构秘密
  8. 软考高级-信息系统管理师之综合测试与管理(最新版)
  9. ipad/iphone的浏览器,为啥可以播放优酷土豆等在线视频
  10. 【每日一练】小米搜索框