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

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

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

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

import wx
import wx.grid as grid

class MyFrame(wx.Frame):
    def __init__(self, parent, title):
        super(MyFrame, self).__init__(parent, title =title, size = (800,600))

        self.panel = MyPanel(self)

class MyPanel(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)

class MyApp(wx.App):
    def OnInit(self):
        self.frame = MyFrame(parent=None, title="Linux迷 www.linuxmi.com")
        self.frame.Show()
        return True

app = MyApp()
app.MainLoop()

首先,我们有我们的框架类,从wx.Frame继承,wx.Frame是一个最重要的窗口框架,它是我们在这个类中创建MyPanel对象的顶层窗口对象top-level window object。

class MyFrame(wx.Frame):
    def __init__(self, parent, title):
        super(MyFrame, self).__init__(parent, title =title, size = (800,600))

        self.panel = MyPanel(self)

之后,我们创建MyPanel类,该类是按钮,菜单,检查按钮等小部件的容器类。我们将在此类中创建网格或表格。

class MyPanel(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)

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

import wx
import wx.grid as grid

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

        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()方法将返回,程序将退出。

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

发表回复