个人与公司网站备案,深圳工业设计薪资,上海公司建设网站,php彩票网站建设教程原标题#xff1a;Python图形化界面入门教程 - 使用wxPython自定义表
来自#xff1a; Linux迷
网址#xff1a;https://www.linuxmi.com/python-gui-wxpython-zidingyi-biao.html
在此Python GUI中#xff0c;我们学习下在wxPython中显示“定制表” 。在第一部分中#x…原标题Python图形化界面入门教程 - 使用wxPython自定义表
来自 Linux迷
网址https://www.linuxmi.com/python-gui-wxpython-zidingyi-biao.html
在此Python GUI中我们学习下在wxPython中显示“定制表” 。在第一部分中我们了解到如何在wxPython中创建表或网格。因此在本文中我们需要为网格或表添加更多功能。
以下是wxPython中Python GUI自定义表的完整代码
importwx
importwx.grid asgrid
classMyFrame(wx.Frame):
def__init__(self, parent, title):
super(MyFrame, self).__init__(parent, title title, size ( 800, 600))
self.panel MyPanel(self)
classMyPanel(wx.Panel):
def__init__(self, parent):
super(MyPanel, self).__init__(parent)
mygrid grid.Grid(self)
mygrid.CreateGrid( 26, 9)
mygrid.SetCellValue( 1, 1, linuxmi.com)
mygrid.SetCellFont( 1, 1, wx.Font( 15, wx.ROMAN, wx.ITALIC, wx.NORMAL))
mygrid.SetCellValue( 5, 5, 红色)
mygrid.SetCellBackgroundColour( 5, 5, wx.RED)
mygrid.SetCellTextColour( 5, 5,wx.WHITE)
mygrid.SetCellValue( 8, 3, 只读单元格)
mygrid.SetReadOnly( 8, 3, True)
mygrid.SetCellEditor( 6, 0, grid.GridCellNumberEditor( 1, 20))
mygrid.SetCellValue( 6, 0, 77)
sizer wx.BoxSizer(wx.VERTICAL)
sizer.Add(mygrid, 1, wx.EXPAND)
self.SetSizer(sizer)
classMyApp(wx.App):
defOnInit(self):
self.frame MyFrame(parent None, title Linux迷 www.linuxmi.com)
self.frame.Show
returnTrue
app MyApp
app.MainLoop
首先我们有我们的框架类从wx.Frame继承wx.Frame是一个最重要的窗口框架它是我们在这个类中创建MyPanel对象的顶层窗口对象top-level window object。
classMyFrame(wx.Frame):
def__init__(self, parent, title):
super(MyFrame, self).__init__(parent, title title, size ( 800, 600))
self.panel MyPanel(self)
之后我们创建了MyPanel类这个类是我们的小部件(如按钮、菜单、复选按钮等)的容器类。
我们已经在这个类中添加了表格现在我将逐行描述代码。
classMyPanel(wx.Panel):
def__init__(self, parent):
super(MyPanel, self).__init__(parent)
mygrid grid.Grid(self)
mygrid.CreateGrid( 26, 9)
mygrid.SetCellValue( 1, 1, linuxmi.com)
mygrid.SetCellFont( 1, 1, wx.Font( 15, wx.ROMAN, wx.ITALIC, wx.NORMAL))
mygrid.SetCellValue( 5, 5, 红色)
mygrid.SetCellBackgroundColour( 5, 5, wx.RED)
mygrid.SetCellTextColour( 5, 5,wx.WHITE)
mygrid.SetCellValue( 8, 3, 只读单元格)
mygrid.SetReadOnly( 8, 3, True)
mygrid.SetCellEditor( 6, 0, grid.GridCellNumberEditor( 1, 20))
mygrid.SetCellValue( 6, 0, 77)
sizer wx.BoxSizer(wx.VERTICAL)
sizer.Add(mygrid, 1, wx.EXPAND)
self.SetSizer(sizer)
它们用于创建网格或表还用于指定表的行和列。
mygrid grid.Grid(self)
mygrid.CreateGrid( 26, 9)
在这里我们手动将文本设置为网格行并为文本添加字体大小。
mygrid.SetCellValue( 1, 1, linuxmi.com)
mygrid.SetCellFont( 1, 1, wx.Font( 15, wx.ROMAN, wx.ITALIC, wx.NORMAL))
在本节中我们将文本设置为白色并将单元格背景更改为红色
mygrid.SetCellValue( 5, 5, 红色)
mygrid.SetCellBackgroundColour( 5, 5, wx.RED)
mygrid.SetCellTextColour( 5, 5,wx.WHITE)
现在我们将单元格设置为只读因此你不能改变那个单元格
mygrid.SetCellValue( 8, 3, 只读单元格)
mygrid.SetReadOnly( 8, 3, True)
您还可以在单元格的编辑器中设置一个数字
mygrid.SetCellEditor( 6, 0, grid.GridCellNumberEditor( 1, 20))
mygrid.SetCellValue( 6, 0, 77)
运行完整代码结果如下
https://www.linuxmi.com/python-gui-wxpython-chuangjian-biao.html返回搜狐查看更多
责任编辑