wxpython的Hello,World代码探索
发布日期:2021-05-08 05:03:30 浏览次数:8 分类:原创文章

本文共 3492 字,大约阅读时间需要 11 分钟。

python界面编程资料

#!/bin/python"""Hello World, but with more meat."""import wxclass HelloFrame(wx.Frame):    """    A Frame that says Hello World    """    def __init__(self, *args, **kw):        # ensure the parent's __init__ is called        super(HelloFrame, self).__init__(*args, **kw)        # create a panel in the frame        pnl = wx.Panel(self)        # and put some text with a larger bold font on it        st = wx.StaticText(pnl, label="Hello Friend!", pos=(500,260))        font = st.GetFont()        font.PointSize += 50        font = font.Bold()        st.SetFont(font)        # create a menu bar        self.makeMenuBar()        # and a status bar        self.CreateStatusBar()        self.SetStatusText("Welcome to wxPython100!")    def makeMenuBar(self):        """        A menu bar is composed of menus, which are composed of menu items.        This method builds a set of menus and binds handlers to be called        when the menu item is selected.        """                # Make a file menu with Hello and Exit items        fileMenu = wx.Menu()        # The "\t..." syntax defines an accelerator key that also triggers        # the same event        helloItem = fileMenu.Append(-1, "&Hello...\tCtrl-H",                 "Help string shown in status bar for this menu item")        fileMenu.AppendSeparator()        # When using a stock ID we don't need to specify the menu item's        # label        exitItem = fileMenu.Append(wx.ID_EXIT)        # Now a help menu for the about item        helpMenu = wx.Menu()        aboutItem = helpMenu.Append(wx.ID_ABOUT)        # Make the menu bar and add the two menus to it. The '&' defines        # that the next letter is the "mnemonic" for the menu item. On the        # platforms that support it those letters are underlined and can be        # triggered from the keyboard.        menuBar = wx.MenuBar()        menuBar.Append(fileMenu, "&File")        menuBar.Append(helpMenu, "&Help")        # Give the menu bar to the frame        self.SetMenuBar(menuBar)        # Finally, associate a handler function with the EVT_MENU event for        # each of the menu items. That means that when that menu item is        # activated then the associated handler function will be called.        self.Bind(wx.EVT_MENU, self.OnHello, helloItem)        self.Bind(wx.EVT_MENU, self.OnExit,  exitItem)        self.Bind(wx.EVT_MENU, self.OnAbout, aboutItem)    def OnExit(self, event):        """Close the frame, terminating the application."""        self.Close(True)    def OnHello(self, event):        """Say hello to the user."""        wx.MessageBox("This is a wxPython Hello World sample",                       "Hello again from wxPython")                          def OnAbout(self, event):        """Display an About Dialog"""        wx.MessageBox("This is a wxPython Hello World sample",                       "About Hello World 2",                      wx.OK|wx.ICON_INFORMATION)if __name__ == '__main__':    # When this module is run (not imported) then create the app, the    # frame, show it, and start the event loop.    app = wx.App()    frm = HelloFrame(None, title='Hello World 100')    frm.Show()    app.MainLoop()

super()的解释

 

fileMenu.AppendSeparator()

这个函数是在两个子选项之间添加分隔符

 

MessageBox的标题是逗号后面的那句,消息内容是第一句。

 

wx.OK|wx.ICON_INFORMATION

红色矩形框,这一句少了会报错

 

不加到最后一个OnAbout也不行

 

每句都加也不行

只能加到最后一句

 

helloItem = fileMenu.Append(-1, "&Hello...\tCtrl-H",

"Help string shown in status bar for this menu item")

-1可以,-2可以,-3可以,-4不行,-4以下都不行。0---10000可以

上一篇:imagepy出现TypeError: \'int\' object is not iterable错误的解决过程
下一篇:imagepy库安装后出现的问题汇总

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2025年04月16日 06时08分35秒