顺序安装以下程序:

  1. python解释器:https://www.python.org/downloads/
  2. wxPython图形界面框架包:http://www.wxpython.org/
  3. pycharm编辑器:http://www.jetbrains.com/
# coding=utf-8
import wx # 导入必须的Python包 class App(wx.App): # 子类化wxPython应用程序类
def OnInit(self): # 定义一个应用程序的初始化方法
frame = wx.Frame(parent=None, title='GUI APP')
frame.Show()
return True app = App() # 创建一个应用程序类的实例
app.MainLoop() # 进入这个应用程序的主事件循环
# coding=utf-8
import wx # 导入必须的Python包 class myMenu(wx.Frame):
def __init__(self,parent,id,title):
wx.Frame.__init__(self,parent,-1,title,wx.DefaultPosition,wx.Size(100,150))
mnuFile=wx.Menu()
mnuFile.AppendSeparator()
mnuFile.Append(101,'&About','About Phoenix')
quit=wx.MenuItem(mnuFile,105,'&Quit\tCtrl+Q','Quit Application')
mnuFile.AppendItem(quit)
menubar = wx.MenuBar()
menubar.Append(mnuFile,'&File')
self.SetMenuBar(menubar) class App(wx.App): # 子类化wxPython应用程序类
def OnInit(self): # 定义一个应用程序的初始化方法
frame =myMenu(None,-1,"GUI With Menu")
frame.Show(True)
return True app = App() # 创建一个应用程序类的实例
app.MainLoop() # 进入这个应用程序的主事件循环
# coding=utf-8
import wx # 导入必须的Python包 class App(wx.App): # 子类化wxPython应用程序类
def OnInit(self): # 定义一个应用程序的初始化方法
#mnuFile
mnuFile=wx.Menu()
mnuFile.Append(100,'&Open\tCtrl+O','Open File')
mnuFile.AppendSeparator()
quit=wx.MenuItem(mnuFile,105,'&Quit\tCtrl+Q','Quit Application')
mnuFile.AppendItem(quit)
#mnuHelp
mnuHelp=wx.Menu()
mnuHelp.Append(101,'&About','About Phoenix')
#menuBar
menuBar = wx.MenuBar()
menuBar.Append(mnuFile,'&File')
menuBar.Append(mnuHelp,"&Help")
#frame
frame = wx.Frame(parent=None,title="GUI with Menu")
frame.SetMenuBar(menuBar)
frame.Show(True)
return True app = App() # 创建一个应用程序类的实例
app.MainLoop() # 进入这个应用程序的主事件循环
# coding=utf-8
import wx # 导入必须的Python包 class App(wx.App): # 子类化wxPython应用程序类
def OnInit(self): # 定义一个应用程序的初始化方法
#mnuFile
mnuFile=wx.Menu()
mnuFile.Append(100,'&Open\tCtrl+O','Open File')
mnuFile.AppendSeparator()
quit=wx.MenuItem(mnuFile,105,'&Quit\tCtrl+Q','Quit Application')
mnuFile.AppendItem(quit)
#mnuHelp
mnuHelp=wx.Menu()
mnuHelp.Append(101,'&About','About Phoenix')
#mnuEdit: subMenuCheck subMenuRadio
subMenuCheck = wx.Menu() # 创建子菜单
subMenuCheck.Append(2001,'Check Item1',kind=wx.ITEM_CHECK)
subMenuCheck.Append(2002,'Check Item2',kind=wx.ITEM_CHECK)
subMenuRadio = wx.Menu()
subMenuRadio.Append(2004,'Radio Item1',kind=wx.ITEM_RADIO)
subMenuRadio.Append(2005,'Radio Item2',kind=wx.ITEM_RADIO)
mnuEdit=wx.Menu()
mnuEdit.AppendMenu(201,'Check Menu',subMenuCheck)
mnuEdit.AppendSeparator()
mnuEdit.AppendMenu(203,'Radio Menu',subMenuRadio)
#menuBar
menuBar = wx.MenuBar()
menuBar.Append(mnuFile,'&File')
menuBar.Append(mnuEdit, '&Edit')
menuBar.Append(mnuHelp,"&Help")
#frame
frame = wx.Frame(parent=None,title="GUI with Menu")
frame.SetMenuBar(menuBar)
frame.Show(True)
return True app = App() # 创建一个应用程序类的实例
app.MainLoop() # 进入这个应用程序的主事件循环
# coding=utf-8
import wx # 导入必须的Python包 class MenuForm(wx.Frame):
def OnQuit(self,event):
self.Close() def __init__(self,parent,ID,title):
wx.Frame.__init__(self,parent,ID,title)
#mnuFile
mnuFile=wx.Menu()
mnuFile.Append(100,'&Open\tCtrl+O','Open File')
mnuFile.AppendSeparator()
mnuFile.Append(105,'&Quit\tCtrl+Q','Quit Application')
#EVT_MENU
wx.EVT_MENU(self,105,self.OnQuit)
#menuBar
menuBar = wx.MenuBar()
menuBar.Append(mnuFile,"&File")
self.SetMenuBar(menuBar)
self.Centre() class App(wx.App): # 子类化wxPython应用程序类
def OnInit(self): # 定义一个应用程序的初始化方法
frame = MenuForm(parent=None,ID=-1,title="GUI with Menu")
frame.Show(True)
return True app = App() # 创建一个应用程序类的实例
app.MainLoop() # 进入这个应用程序的主事件循环

Python体验(07)-图形界面之菜单的更多相关文章

  1. Python体验(08)-图形界面之工具栏和状态栏

    # coding=utf-8 import wx # 导入必须的Python包 class MenuForm(wx.Frame): def OnQuit(self,event): self.Close ...

  2. Python体验(10)-图形界面之计算器

    import wx class Form(wx.Frame): def __init__( self, parent, id, title ): wx.Frame.__init__(self,pare ...

  3. 用aardio给python写个图形界面

    前阵子在用python写一些小程序,写完后就开始思考怎么给python程序配一个图形界面,毕竟控制台实在太丑陋了. 于是百度了下python的图形界面库,眼花缭乱的一整页,拣了几件有“特色”有“噱头” ...

  4. 【Python】 用户图形界面GUI wxpython IV 菜单&对话框

    更多组件 ■ 菜单栏 Menu 菜单是很多GUI必不可少的一部分.要建立菜单,必须先创建菜单栏: menuBar = MenuBar() menu = Menu() item1 = menu.Appe ...

  5. 【Python】 用户图形界面GUI wxpython III 更多组件

    wxpython - 更多组件 我写到的这些组件可能一来不是很详细,二来不是最全的,想要更好地用这些组件,应该还是去看看教程和别的示例.比较简单的,推荐http://download.csdn.net ...

  6. 【Python】 用户图形界面GUI wxpython II 布局和事件

    wxpython - 布局和事件 这章主要记录布局器Sizer以及事件的用法. // 目前还需要记录的:Sizer的Add方法加空白,Sizer的Layout,Sizer的Remove如何有效 ■ 布 ...

  7. 【Python】 用户图形界面GUI wxpython I 基本用法和组件

    wxpython - 基本用法和组件 wxpython是python对跨平台GUI库wxWidgets的封装.wxWidgets是由C++写成的. wxpython被包装进了wx模块中,用它设计GUI ...

  8. python学习之图形界面编程:

    一 tkinter:tkinter是python自带的支持tk的库,python代码调用tkinter->tk->操作系统提供的本地GUI(TKL语言开发))完成界面开发,不需要安装任何第 ...

  9. Python 的简单图形界面编程【草】

    可用方案 Tkinter python官方附带,方便,但听说存在乱码问题 wxPython 更成熟一些,但需要额外安装(大约50M) pyQt 授权不够宽松 最短代码 Tkinter 待补充 wxPy ...

随机推荐

  1. ubuntu安装opencv

    ubuntu版本是12.04 ,opencv的版本是2.4.9 其实官网有教程的,http://docs.opencv.org/doc/tutorials/introduction/linux_ins ...

  2. php 函数strpos()

    strpos() 函数查找字符串在另一字符串中第一次出现的位置. strpos(string,find,start) 返回  从string中的start位置开始找find第一次出现的位置 注意: s ...

  3. XJOI‘s story (不定期连载)

    王城双基的力量.... 我也不知道写写这种东西会不会被查大表..尴尬  . 我为什么要写这东西: 为了蛤鸡 为了红太阳 xj 人物列传 2017   1,6   Friday 得到大新闻 机房后面的监 ...

  4. bash获取properties文件资源

    #!/bin/sh prop_value="" function getProperty() { file=$ prop_key=$ prop_value=`cat $file | ...

  5. relative

    进行relative定位后的元素,不会影响原本的文本流. 下图左列的第二张图是进行了margin-top取负值,右列第二张图进行了relative定位     

  6. connections

    recv(), recvfrom() http://lxr.free-electrons.com/source/net/socket.c http://grepcode.com/file/reposi ...

  7. 10天学会phpWeChat——第三天:从数据库读取数据到视图

    在第二天,我们创建了我们的第一个phpWeChat功能模块,但是比较简单.实际生产环境中,我们不可能有如此简单的需求.更多的情况是数据存储在MySql数据库中,我们开发功能模块的作用就是将这些数据从M ...

  8. 如何用ABBYY FineReader识别图片中的文本

    ABBYY FineReader 12是一款OCR光学字符识别软件,能够快速方便地将扫描纸质文档.PDF文件和数码相机的图像转换成可编辑.可搜索的文本,让电脑处理更具效率,摆脱从前的烦恼,告别耗时费力 ...

  9. ILGenerator.Emit动态 MSIL编程(二)之基础

    public sealed class ColorToArgb { /// <summary> /// 将十六进制转化为AGRB /// </summary> /// < ...

  10. MyBatis入门学习教程-解决字段名与实体类属性名不相同的冲突

    在平时的开发中,我们表中的字段名和表对应实体类的属性名称不一定都是完全相同的,下面来演示一下这种情况下的如何解决字段名与实体类属性名不相同的冲突. 一.准备演示需要使用的表和数据 CREATE TAB ...