wxPython GUI菜单示例

本文介绍了使用Python和wxPython库开发一个简单的截屏专家应用的步骤,包括创建菜单、添加功能以及基本的用户界面设计。
1、main.py
#!/usr/bin/env python
#Boa:App:BoaApp

import wx

import mainFrame

modules ={'mainFrame': [1, 'Main frame of Application', 'mainFrame.py']}

class BoaApp(wx.App):
def OnInit(self):
self.main = mainFrame.create(None)
self.main.Show()
self.SetTopWindow(self.main)
return True

def main():
application = BoaApp(0)
application.MainLoop()

if __name__ == '__main__':
main()


2、mainFrame.py
关键:
1、wx.MenuItem才有菜单事件
2、self.Bind( wx.EVT_MENU, self.dostart, id = self.oper_start_item.GetId() )


# -*- coding: utf-8 -*-

import wx

def create(parent):
return mainFrame(parent)

class mainFrame ( wx.Frame ):

def __init__( self, parent ):
wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = u"截屏专家", pos = wx.DefaultPosition, size = wx.Size( 508,319 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL )

self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )

self.mf_menubar = wx.MenuBar( 0 )
self.oper_menu = wx.Menu()
self.oper_start_item = wx.MenuItem( self.oper_menu, wx.ID_ANY, u"启动", wx.EmptyString, wx.ITEM_NORMAL )
self.oper_menu.AppendItem( self.oper_start_item )

self.oper_stop_item = wx.MenuItem( self.oper_menu, wx.ID_ANY, u"终止", wx.EmptyString, wx.ITEM_NORMAL )
self.oper_menu.AppendItem( self.oper_stop_item )

self.mf_menubar.Append( self.oper_menu, u"操作" )

self.set_menu = wx.Menu()
self.set_sys_item = wx.MenuItem( self.set_menu, wx.ID_ANY, u"系统设置", wx.EmptyString, wx.ITEM_NORMAL )
self.set_menu.AppendItem( self.set_sys_item )

self.mf_menubar.Append( self.set_menu, u"设置" )

self.help_menu = wx.Menu()
self.mf_menubar.Append( self.help_menu, u"帮助" )

self.SetMenuBar( self.mf_menubar )

self.mf_statusBar = self.CreateStatusBar( 1, wx.ST_SIZEGRIP, wx.ID_ANY )
mf_sizer = wx.BoxSizer( wx.HORIZONTAL )

self.SetSizer( mf_sizer )
self.Layout()

self.Centre( wx.BOTH )

# Connect Events
self.Bind( wx.EVT_MENU, self.dostart, id = self.oper_start_item.GetId() )

def __del__( self ):
pass


# Virtual event handlers, overide them in your derived class
def dostart( self, event ):
print 'sdfsdf'
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值