基于wxpython实现的windows GUI程序实例


Posted in Python onMay 30, 2015

本文实例讲述了基于wxpython实现的windows GUI程序。分享给大家供大家参考。具体如下:

# using a wx.Frame, wx.MenuBar, wx.Menu, wx.Panel, wx.StaticText, wx.Button, 
# and a wx.BoxSizer to show a rudimentary wxPython Windows GUI application
# wxPython package from: http://prdownloads.sourceforge.net/wxpython/
# I downloaded: wxPython2.5-win32-ansi-2.5.3.1-py23.exe
# if you have not already done so install the Python compiler first
# I used Python-2.3.4.exe (the Windows installer package for Python23) 
# from http://www.python.org/2.3.4/
# tested with Python23   vegaseat   24jan2005
import wx
class Frame1(wx.Frame):
  # create a simple windows frame (sometimes called form)
  # pos=(ulcX,ulcY) size=(width,height) in pixels
  def __init__(self, parent, title):
    wx.Frame.__init__(self, parent, -1, title, pos=(150, 150), size=(350, 250))
    # create a menubar at the top of the user frame
    menuBar = wx.MenuBar()
    # create a menu ... 
    menu = wx.Menu()
    # ... add an item to the menu
    # \tAlt-X creates an accelerator for Exit (Alt + x keys)
    # the third parameter is an optional hint that shows up in 
    # the statusbar when the cursor moves across this menu item
    menu.Append(wx.ID_EXIT, "E&xit\tAlt-X", "Exit the program")
    # bind the menu event to an event handler, share QuitBtn event
    self.Bind(wx.EVT_MENU, self.OnQuitButton, id=wx.ID_EXIT)
    # put the menu on the menubar
    menuBar.Append(menu, "&File")
    self.SetMenuBar(menuBar)
    # create a status bar at the bottom of the frame
    self.CreateStatusBar()
    # now create a panel (between menubar and statusbar) ...
    panel = wx.Panel(self)
    # ... put some controls on the panel
    text = wx.StaticText(panel, -1, "Hello World!")
    text.SetFont(wx.Font(24, wx.SCRIPT, wx.NORMAL, wx.BOLD))
    text.SetSize(text.GetBestSize())
    quitBtn = wx.Button(panel, -1, "Quit")
    messBtn = wx.Button(panel, -1, "Message")
    # bind the button events to event handlers
    self.Bind(wx.EVT_BUTTON, self.OnQuitButton, quitBtn)
    self.Bind(wx.EVT_BUTTON, self.OnMessButton, messBtn)
    # use a sizer to layout the controls, stacked vertically
    # with a 10 pixel border around each
    sizer = wx.BoxSizer(wx.VERTICAL)
    sizer.Add(text, 0, wx.ALL, 10)
    sizer.Add(quitBtn, 0, wx.ALL, 10)
    sizer.Add(messBtn, 0, wx.ALL, 10)
    panel.SetSizer(sizer)
    panel.Layout()
  def OnQuitButton(self, evt):
    # event handler for the Quit button click or Exit menu item
    print "See you later alligator! (goes to stdout window)"
    wx.Sleep(1)  # 1 second to look at message
    self.Close()
  def OnMessButton(self, evt):
    # event handler for the Message button click
    self.SetStatusText('101 Different Ways to Spell "Spam"')
class wxPyApp(wx.App):
  def OnInit(self):
    # set the title too
    frame = Frame1(None, "wxPython GUI 2")
    self.SetTopWindow(frame)
    frame.Show(True)
    return True
# get it going ...
app = wxPyApp(redirect=True)
app.MainLoop()

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Swift 3.0在集合类数据结构上的一些新变化总结
Jul 11 Python
Python 实现 贪吃蛇大作战 代码分享
Sep 07 Python
解决出现Incorrect integer value: '' for column 'id' at row 1的问题
Oct 29 Python
Python绘制3d螺旋曲线图实例代码
Dec 20 Python
python pandas实现excel转为html格式的方法
Oct 23 Python
Python后台开发Django的教程详解(启动)
Apr 08 Python
Python切片操作去除字符串首尾的空格
Apr 22 Python
python实现银行管理系统
Oct 25 Python
六种酷炫Python运行进度条效果的实现代码
Jul 17 Python
PyCharm设置注释字体颜色以及是否倾斜的操作
Sep 16 Python
Python+MySQL随机试卷及答案生成程序的示例代码
Feb 01 Python
matplotlib事件处理基础(事件绑定、事件属性)
Feb 03 Python
python简单实现旋转图片的方法
May 30 #Python
Python实现控制台输入密码的方法
May 29 #Python
python删除过期文件的方法
May 29 #Python
Python的Django框架中TEMPLATES项的设置教程
May 29 #Python
编写Python脚本把sqlAlchemy对象转换成dict的教程
May 29 #Python
Python fileinput模块使用实例
May 28 #Python
Python sys.argv用法实例
May 28 #Python
You might like
php微信开发之自定义菜单实现
2016/11/18 PHP
php实现的mysqldb读写分离操作类示例
2017/02/07 PHP
解决JS浮点数运算出现Bug的方法
2013/03/12 Javascript
js实现广告漂浮效果的小例子
2013/07/02 Javascript
jquery根据name属性查找的小例子
2013/11/21 Javascript
JavaScript实现数字数组正序排列的方法
2015/04/06 Javascript
自己动手写的jquery分页控件(非常简单实用)
2015/10/28 Javascript
EasyUI的TreeGrid的过滤功能的解决思路
2017/08/08 Javascript
vue-router 源码实现前端路由的两种方式
2018/07/02 Javascript
微信小程序自定义音乐进度条的实例代码
2018/08/28 Javascript
trackingjs+websocket+百度人脸识别API实现人脸签到
2018/11/26 Javascript
js中null与空字符串""的区别讲解
2019/01/17 Javascript
使用JavaScript通过前端发送电子邮件
2020/05/22 Javascript
vue 保留两位小数 不能直接用toFixed(2) 的解决
2020/08/07 Javascript
Python出现segfault错误解决方法
2016/04/16 Python
Django1.7+python 2.78+pycharm配置mysql数据库
2016/10/09 Python
python绘制条形图方法代码详解
2017/12/19 Python
在python中获取div的文本内容并和想定结果进行对比详解
2019/01/02 Python
Django对models里的objects的使用详解
2019/08/17 Python
Python 脚本实现淘宝准点秒杀功能
2019/11/13 Python
django从后台返回html代码的实例
2020/03/11 Python
Python实现UDP程序通信过程图解
2020/05/15 Python
解决Keras使用GPU资源耗尽的问题
2020/06/22 Python
如何真正的了解python装饰器
2020/08/14 Python
python字典与json转换的方法总结
2020/12/28 Python
写出一个方法实现冒泡排序
2016/07/08 面试题
如何查找网页漏洞
2016/06/22 面试题
DELPHI中如何调用API,可举例说明
2014/01/16 面试题
医药专业推荐信
2013/11/15 职场文书
《桃花心木》教学反思
2014/02/17 职场文书
村级换届选举方案
2014/05/10 职场文书
乌镇导游词
2015/02/02 职场文书
2016会计专业自荐信范文
2016/01/28 职场文书
《钓鱼的启示》教学反思
2016/02/18 职场文书
小学一年级语文教学反思
2016/03/03 职场文书
Python爬虫之爬取二手房信息
2021/04/27 Python