博客
关于我
wxpython的Hello,World代码探索
阅读量:380 次
发布时间:2019-03-05

本文共 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可以

转载地址:http://klywz.baihongyu.com/

你可能感兴趣的文章
mysql select, from ,join ,on ,where groupby,having ,order by limit的执行顺序和书写顺序
查看>>
MySQL Server 5.5安装记录
查看>>
mysql slave 停了_slave 停止。求解决方法
查看>>
MySQL SQL 优化指南:主键、ORDER BY、GROUP BY 和 UPDATE 优化详解
查看>>
mysql sum 没返回,如果没有找到任何值,我如何在MySQL中获得SUM函数以返回'0'?
查看>>
mysql Timestamp时间隔了8小时
查看>>
Mysql tinyint(1)与tinyint(4)的区别
查看>>
mysql union orderby 无效
查看>>
mysql where中如何判断不为空
查看>>
mysql workbench6.3.5_MySQL Workbench
查看>>
MySQL Workbench安装教程以及菜单汉化
查看>>
MySQL Xtrabackup 安装、备份、恢复
查看>>
mysql [Err] 1436 - Thread stack overrun: 129464 bytes used of a 286720 byte stack, and 160000 bytes
查看>>
MySQL _ MySQL常用操作
查看>>
MySQL – 导出数据成csv
查看>>
MySQL —— 在CentOS9下安装MySQL
查看>>
mysql 不区分大小写
查看>>
mysql 两列互转
查看>>
MySQL 中开启二进制日志(Binlog)
查看>>
MySQL 中文问题
查看>>