基于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 相关文章推荐
Python中IPYTHON入门实例
May 11 Python
Python中二维列表如何获取子区域元素的组成
Jan 19 Python
python的变量与赋值详细分析
Nov 08 Python
Python快速查找list中相同部分的方法
Jun 27 Python
Pyinstaller打包.py生成.exe的方法和报错总结
Apr 02 Python
PyQt5基本控件使用详解:单选按钮、复选框、下拉框
Aug 05 Python
python遍历文件目录、批量处理同类文件
Aug 31 Python
python实现五子棋游戏(pygame版)
Jan 19 Python
浅谈python3打包与拆包在函数的应用详解
May 02 Python
pymysql模块使用简介与示例
Nov 17 Python
K近邻法(KNN)相关知识总结以及如何用python实现
Jan 28 Python
pytorch model.cuda()花费时间很长的解决
Jun 01 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
我的论坛源代码(五)
2006/10/09 PHP
Zend Studio去除编辑器的语法警告设置方法
2012/10/24 PHP
PHP处理excel cvs表格的方法实例介绍
2013/05/13 PHP
深入apache host的配置详解
2013/06/09 PHP
PHP校验15位和18位身份证号的类封装
2018/11/07 PHP
PHP5.5新特性之yield理解与用法实例分析
2019/01/11 PHP
如何解决Jquery库及其他库之间的$命名冲突
2013/09/15 Javascript
jQuery使用ajaxSubmit()提交表单示例
2014/04/04 Javascript
用javascript将数据导入Excel示例代码
2014/09/10 Javascript
分离与继承的思想实现图片上传后的预览功能:ImageUploadView
2016/04/07 Javascript
浅析JS中对函数function的理解(基础篇)
2016/10/14 Javascript
Angular2-primeNG文件上传模块FileUpload使用详解
2017/01/14 Javascript
webpack打包并将文件加载到指定的位置方法
2018/02/22 Javascript
[01:34]2014DOTA2 TI预选赛预选赛 选手比赛房大揭秘!
2014/05/20 DOTA
[01:10]DOTA2次级职业联赛 - Fly战队宣传片
2014/12/01 DOTA
[50:24]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
python3的输入方式及多组输入方法
2018/10/17 Python
Python数据可视化教程之Matplotlib实现各种图表实例
2019/01/13 Python
Python2与Python3的区别实例分析
2019/04/11 Python
Python数据类型之列表和元组的方法实例详解
2019/07/08 Python
Python 类属性与实例属性,类对象与实例对象用法分析
2019/09/20 Python
如何使用Python脚本实现文件拷贝
2019/11/20 Python
关于Numpy中的行向量和列向量详解
2019/11/30 Python
使用python turtle画高达
2020/01/19 Python
浅谈Selenium+Webdriver 常用的元素定位方式
2021/01/13 Python
html+css3实现的登录界面
2020/12/09 HTML / CSS
HTML中fieldset标签概述及使用方法
2013/02/01 HTML / CSS
iframe与window.onload如何使用详解
2020/05/07 HTML / CSS
美国棒球装备和用品商店:Baseball Savings
2018/06/09 全球购物
BISSELL官网:北美吸尘器第一品牌
2019/03/14 全球购物
什么是规则表达式
2012/05/03 面试题
感恩母亲节活动方案
2014/03/04 职场文书
五年级下册复习计划
2015/01/19 职场文书
护士节慰问信
2015/02/15 职场文书
Python爬取科目四考试题库的方法实现
2021/03/30 Python
Python批量解压&压缩文件夹的示例代码
2022/04/04 Python