博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python GUI库wxPython官网Hello World示例的逐行解释
阅读量:5915 次
发布时间:2019-06-19

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

这篇文章是对wxPython官网第二个代码的逐行解释,不过为方便初学者做了小部分改动,勉强算对wxPython的入门了解。

一、环境与工具

  • 本机:Windows10 64位
  • Python 3.5.2
  • wxPython 4.0.0b2
  • IDE:Pycharm Professional 2017.2.3

二、代码解释

# !/usr/bin/env python# _*_ coding:utf-8 _*_import wx'''frame(窗口):带标题和边框的最顶层窗体panel(面板):容器类,提供空间放其他组件,包括其他panel'''class HelloFrame(wx.Frame):    def __init__(self, *args, **kw):        super(HelloFrame, self).__init__(*args, **kw)        # 创建一个Panel实例        pn1 = wx.Panel(self)                # 在pn1上创建一个静态文本组件(StaticText)        # +label表示要显示的文本内容        # +pos表示文本显示位置        st = wx.StaticText(pn1, label="A simple wxPython demo!", pos=(25, 25))                # 设置文本内容字号并粗体显示        font = st.GetFont()        font.PointSize += 10        font = font.Bold()        st.SetFont(font)                # 创建菜单栏        self.makeMenuBar()        # 创建状态栏        self.CreateStatusBar()        # 设置状态栏要显示的文本内容        self.SetStatusText("Ready to update to Hello World v3.0!")    def makeMenuBar(self):        # 创建菜单对象fileMenu(菜单栏主选项1)        fileMenu = wx.Menu()                # 在fileMenu中添加子项createItem        # +item表示子项        # +helpString表示对子项的说明,当鼠标移动到子项上时,会在状态栏显示        # \t...语法允许用户键盘操作触发子项        createItem = fileMenu.Append(wx.ID_ANY, item=u"新建文件(N)...\tCtrl-H", helpString="创建一个新的文件")                # 在各子项中添加起分隔作用的横线        fileMenu.AppendSeparator()                # 在fileMenu中添加子项exitItem        exitItem = fileMenu.Append(wx.ID_EXIT, item=u"退出")        # 创建菜单对象helpMenu(菜单栏主选项2)        helpMenu = wx.Menu()        # 在fileMenu中添加子项aboutItem        aboutItem = helpMenu.Append(wx.ID_ABOUT, item=u"关于")        # 创建菜单栏        menuBar = wx.MenuBar()        # 添加各个菜单栏主选项到菜单栏中        # "&"后的首字母+"alt"键触发菜单选项。该首字母会以下划线着重显示,按住alt键即能看见。        menuBar.Append(fileMenu, u"文件(&F)")        menuBar.Append(helpMenu, u"帮助(&H)")        # 添加菜单栏到窗口        self.SetMenuBar(menuBar)        # 将主菜单的所有子项绑定动作        self.Bind(wx.EVT_MENU, self.OnCreate, source=createItem)        self.Bind(wx.EVT_MENU, self.OnAbout, source=aboutItem)        self.Bind(wx.EVT_MENU, self.OnExit, source=exitItem)    def OnExit(self, event):        # 关闭窗口        self.Close(True)    def OnCreate(self, event):        wx.MessageBox(u"创建文件成功")    def OnAbout(self, event):        # MessageBox(message, caption=MessageBoxCaptionStr, style=OK|CENTRE, parent=None, x=DefaultCoord, y=DefaultCoord)        # +调用message()方法将会弹出一个对话窗口        # +message表示对话窗口显示的正文信息        # +caption表示对话窗口的标题        # +style表示对话窗口的按钮和图标样式        wx.MessageBox("Hello World v2.0\r\nproducted by wxPython.",                      "About",                      wx.OK | wx.ICON_INFORMATION)if __name__ == "__main__":    app = wx.App()    frame = HelloFrame(None, title="Hello World v2.0")    frame.Show()    app.MainLoop()

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

你可能感兴趣的文章
神级python程序员只需要一个公众号,再也不会错过重要资讯
查看>>
双十一流量洪峰 支撑阿里核心业务的云数据库揭秘
查看>>
OSChina 周一乱弹 ——程序员跟产品经理撕逼必须掌握的套路
查看>>
Linux系统启动流程详解
查看>>
Magento(CE1.X)自带模块解析五
查看>>
Factory Method模式 (一)
查看>>
代码整洁之道-第9章-单元测试-读书笔记
查看>>
C++ ssd5 12 optional exercise2
查看>>
如何调用带返回值类型的函数
查看>>
linux网络编程涉及的函数
查看>>
数据表的相关操作
查看>>
POJ 2594 Treasure Exploration(最小可相交路径覆盖)题解
查看>>
数据挖掘十大经典算法
查看>>
ArcGIS API for Silverlight 调用GP服务加载等值线图层
查看>>
CentOS系统rsync文件同步 安装配置
查看>>
LogStash配置、使用(三)
查看>>
SpringMVC 学习笔记(二) @RequestMapping、@PathVariable等注解
查看>>
Chrome应用技巧之颜色拾取
查看>>
Linux之通配符
查看>>
ios中摄像头和图片调用
查看>>