python创建图形窗口-Python图形化界面入门教程 - 使用wxPython创建表

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-30 15:15   11   0

原标题:Python图形化界面入门教程 - 使用wxPython创建表

来自: Linux迷

网址:https://www.linuxmi.com/python-gui-wxpython-chuangjian-biao.html

在这篇Python GUI文章中,我将向您展示在wxPython中创建表。在阅读本文之后,您将能够在wxPython中创建漂亮的网格和表格。

对于包括wx的 本文,您需要导入另一个名为wx.grid的库。wx.grid.Grid及其相关类用于显示和编辑表格数据。

它们提供了丰富的功能集,可用于显示,编辑以及与各种数据源进行交互。

这是Python GUI在wxPython中创建表的完整代码

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)

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)

sizer = wx.BoxSizer(wx.VERTICAL)

sizer.Add(mygrid, 1, wx.EXPAND)

self.SetSizer(sizer)

下面第一行代码,用于创建网格或表格,在第二行代码中,指定网格的行和列的大小。

importwx

importwx.grid asgrid

这些是用于创建垂直框大小调整器并将网格添加到大小调整器中的

sizer = wx.BoxSizer(wx.VERTICAL)

sizer.Add(mygrid, 1, wx.EXPAND)

self.SetSizer(sizer)

最后一个类是MyApp类继承自wx.App。OnInit方法通常是创建框架子类对象(frame subclass objects)。

然后开始我们的主循环(main loop)。就是这样。一旦应用程序的主事件循环处理接管,控制权就传递给wxPython。与过程性程序不同,wxPython GUI程序主要响应在其周围发生的事件,这些事件主要由用户用鼠标单击和键盘输入决定。当应用程序中的所有帧都被关闭时,app.MainLoop方法将返回,程序将退出。

运行完整代码,结果如下:

责任编辑:

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP