wxPython中工具栏、状态栏、菜单实现

简介:

 wxPython是python可视化编程中的一个很好的模块,一以下的代码主要讲述工具栏、状态栏、菜单、菜单事件的实现(可参考:http://www.czug.org/python/wxpythoninaction/):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import  wx
import  wx.py.images
class  ToolbarFrame(wx.Frame):
     def  __init__( self , parent,  id ):
           
         wx.Frame.__init__( self , parent,  id 'Toolbars' , size  =  ( 600 400 ))
           
         panel  =  wx.Panel( self )
         panel.SetBackgroundColour( 'White' )
           
         #创建状态栏
         statusBar  =  self .CreateStatusBar()
           
         #创建工具栏
         toolbar  =  self .CreateToolBar()
         #增加一个工具
         toolbar.AddSimpleTool(wx.NewId(), wx.py.images.getPyBitmap(),  "New" "Long help for 'New'" )
         toolbar.AddSimpleTool(wx.NewId(), wx.py.images.getPyBitmap(),  "Edit" "Long help for 'Edit'" )
         #准备显示
         toolbar.Realize()
           
         #创建菜单
         menuBar  =  wx.MenuBar()
         menu1  =  wx.Menu()
         menuBar.Append(menu1, u "&文件" #菜单项目1
         self .close  =  menu1.Append(wx.NewId(), u "退出(&X)" , "")
         menu2  =  wx.Menu()
         #菜单内容&表示随后的字符为热键,参数3为在状态栏上显示的菜单项说明
         self .Copy  =  menu2.Append(wx.NewId(),  "&Copy" "Copy in status bar" )
         self .Cut  =  menu2.Append(wx.NewId(),  "C&ut" , "")
         self .Paste  =  menu2.Append(wx.NewId(),  "Paste" , "")
         menu2.AppendSeparator()
         self .Options  =  menu2.Append(wx.NewId(),  "&Options..." "Display Options" )
         self .Edit  =  menuBar.Append(menu2,  "&Edit" )
         self .SetMenuBar(menuBar)
         #调用菜单下拉的退出事件
         self .Bind(wx.EVT_MENU, self .OnClose, self .close)
     def  OnClose( self ,event): #退出事件
         self .Close()
if  __name__  = =  '__main__' :
     app  =  wx.PySimpleApp()
     frame  =  ToolbarFrame(parent  =  None id  =  - 1 )
     frame.Show()
     app.MainLoop()




本文转自 lover00751CTO博客,原文链接:http://blog.51cto.com/wangwei007/1209303,如需转载请自行联系原作者
相关文章
|
Linux
Linux制作deb格式安装包教程
Linux制作deb格式安装包教程
1261 0
|
算法 Java 数据安全/隐私保护
|
12月前
|
网络协议 算法 网络性能优化
第十一问:TCP的窗口机制是什么?
TCP的窗口机制是实现流量控制和拥塞控制的重要手段,主要包括滑动窗口、接收窗口(rwnd)和拥塞窗口(cwnd)。滑动窗口定义了发送方允许发送的数据范围,接收窗口控制接收方的缓冲区容量,拥塞窗口防止网络拥塞。这些窗口通过动态调整,确保数据传输的高效性和可靠性。
|
存储 Windows
如何删除DMP文件
如何删除DMP文件
1912 12
|
Android开发 Python
uiautomator2:python控制手机的神器
uiautomator2:python控制手机的神器
415 0
|
安全 网络安全 数据安全/隐私保护
全面了解电子邮件的优点和不足之处
电子邮件因其易用性、透明度和低成本而长期受欢迎,但过度饱和和安全风险是其主要缺点。2022年,90%以上的美国人使用电子邮件,使其超越了即时消息和社交媒体。优点包括可访问性、透明度(如数据安全措施)、一致性(离线发送,线上接收)和定制化(如自定义域名)。然而,邮件过量可能导致信息忽略,而安全问题如网络钓鱼需要防范。有效的电子邮件管理策略和安全培训是必要的。
441 0
|
运维 监控 安全
盘点Linux服务器运维管理面板
随着云计算和大数据技术的迅猛发展,Linux服务器在运维管理中扮演着越来越重要的角色。传统的Linux服务器管理方式已经无法满足现代企业的需求,因此,高效、安全、易用的运维管理面板应运而生。
|
网络协议 网络虚拟化 数据中心
VLAN和VXLAN,两者有何区别
随着网络技术发展,云计算因其高利用率、低管理成本及灵活性成为各行业IT建设新趋势。服务器虚拟化作为核心技术之一,提升了数据中心计算密度,但传统二三层网络难以满足虚拟机无限制迁移需求。VLAN技术因支持VLAN数有限,无法满足云服务商需求;而VXLAN技术通过将二层网络扩展到三层,可支持多达1600万个网络,有效克服了VLAN的局限性,实现多租户支持和网络可靠性的提升。
412 1
Python 代码从 `.env` 文件中读取环境变量
这篇文章介绍了如何在Python项目中使用`python-dotenv`库从`.env`文件读取环境变量的详细步骤,包括安装库、创建`.env`文件、在代码中加载和读取环境变量。
|
小程序 开发者 UED
微信小程序——使用插槽slot快捷开发
微信小程序——使用插槽slot快捷开发
948 0

热门文章

最新文章