天天看点

wxpython的简单使用

简单的菜单栏,页面布局和事件

import wx

class MainFrame(wx.Frame):

    def __init__(self, *args, **kwargs):
        super(MainFrame, self).__init__(*args, **kwargs)
        self.init_ui()
    def init_ui(self):
        panel = wx.Panel(self)
        menu_bar = wx.MenuBar()
        menu_file = wx.Menu()
        menu_edit=wx.Menu()
#####菜单栏
        self.CJ1=menu_file.Append(1,'事件1')
        self.CJ2=menu_file.Append(2,'事件2')
        menu_bar.Append(menu_file,'&开始')

        self.end=menu_edit.Append(3,'结束')
        self.Bind(wx.EVT_MENU,self.on_end,self.end)
        menu_bar.Append(menu_edit,'&Help')
        self.SetMenuBar(menu_bar)

####布局处理
        sizer = wx.GridBagSizer(4, 4)
        button1 = wx.Button(panel, label="场景1",size=(240, 120))
        sizer.Add(button1, pos=(0, 0),
                  flag=wx.ALL, border=20)
        button2 = wx.Button(panel, label="配置参数",size=(100, 50))
        sizer.Add(button2, pos=(0, 3),span=(1,30),
                  flag=wx.EXPAND, border=20)

        panel.SetSizer(sizer)



        # self.SetWindowStyle(style=wx.MINIMIZE_BOX | wx.SYSTEM_MENU | wx.CAPTION | wx.CLOSE_BOX)
        self.SetSize((600, 400))
        self.SetTitle('小小界面')
        self.Centre()
        self.Show(True)

    def on_end(self,event):
        self.Close()

def main():
    app = wx.App()
    MainFrame(None)
    app.MainLoop()

if __name__ == '__main__':
    main()