使用Python开发windows GUI程序入门实例


Posted in Python onOctober 23, 2014

今天终于可以用wxPython开发GUI程序了,非常高兴。把其中的一些注意点写下来以供参考。在windows XP平台下,首先需要做以下环境的配置:

1. 首先是安装python ,安装完之后将python/bin所在目录添加到path中。
2. 安装wxPython, 此时要注意wxPython的版本要与前面python的版本一致。
3. 安装py2exe, 这是windows平台下一个非常好的python程序发布工具,可以将python程序编译成exe而脱离python环境执行。做完上面的安装后,我们就可以来测试一下了

wxPython demo 代码:

#wxDemo.py
import wx
class App(wx.App): 

   def OnInit(self): 

      frame = wx.Frame(parent=None, title='Bare') 

      frame.Show() 

      return True
app = App() 

app.MainLoop()

编写py2exe用的编译代码:

#setup.py 

from distutils.core import setup 

import py2exe
setup(windows=["wxDemo.py"])

注意,上面代码中 setup(windows=["wxDemo.py"])要正确引用你的Python程序,[]之中为你要编译的python程序文件,由于是带窗口的,所以用了windows属性.

下面来编译:

在命令行执行python setup.py py2exe, 当编译完成后,会有一个dist文件夹,里面有一个wxDemo.exe,这就是编译后的exe,在发布时,需要将这个文件夹下面的library.zip,dll和wxDemo.exe放到同一个目录下,否则程序不能执行。现在,双击wxDemo.exe,你就会看到一个窗口了:)

Python 相关文章推荐
Python高效编程技巧
Jan 07 Python
使用python 获取进程pid号的方法
Mar 10 Python
详解在Python中处理异常的教程
May 24 Python
python简单实现刷新智联简历
Mar 30 Python
Python实现的摇骰子猜大小功能小游戏示例
Dec 18 Python
python实现差分隐私Laplace机制详解
Nov 25 Python
Python实现括号匹配方法详解
Feb 10 Python
tensorflow常用函数API介绍
Apr 19 Python
使用openCV去除文字中乱入的线条实例
Jun 02 Python
python识别验证码的思路及解决方案
Sep 13 Python
python中的插入排序的简单用法
Jan 19 Python
Python保存并浏览用户的历史记录
Apr 29 Python
手动实现把python项目发布为exe可执行程序过程分享
Oct 23 #Python
python文件操作整理汇总
Oct 21 #Python
Python中input和raw_input的一点区别
Oct 21 #Python
Python中if __name__ == "__main__"详细解释
Oct 21 #Python
Python创建文件和追加文件内容实例
Oct 21 #Python
python3生成随机数实例
Oct 20 #Python
Python入门篇之面向对象
Oct 20 #Python
You might like
二十行语句实现从Excel到mysql的转化
2006/10/09 PHP
用PHP进行MySQL删除记录操作代码
2008/06/07 PHP
调整PHP的性能
2013/10/30 PHP
PHP实现腾讯与百度坐标转换
2017/08/05 PHP
IE6下出现JavaScript未结束的字符串常量错误的解决方法
2010/11/21 Javascript
JQuery对checkbox操作 (循环获取)
2011/05/20 Javascript
js实现文本框宽度自适应文本宽度的方法
2015/08/13 Javascript
浅析Bootstrap验证控件的使用
2016/06/23 Javascript
JavaScript lodash常见用法系列小结
2016/08/24 Javascript
修改jquery中dialog的title属性方法(推荐)
2016/08/26 Javascript
Vue.js每天必学之组件与组件间的通信
2016/09/08 Javascript
微信小程序开发一键登录 获取session_key和openid实例
2016/11/23 Javascript
关于jQuery中fade(),show()起始位置的一点小发现
2017/04/25 jQuery
H5基于iScroll实现下拉刷新和上拉加载更多
2017/07/18 Javascript
Vue结合SignalR实现前后端实时消息同步
2017/09/19 Javascript
JS eval代码快速解密实例解析
2020/04/23 Javascript
js简单粗暴的发布订阅示例代码
2021/01/23 Javascript
[57:37]EG vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
重命名批处理python脚本
2013/04/05 Python
python文件读写并使用mysql批量插入示例分享(python操作mysql)
2014/02/17 Python
简单了解OpenCV是个什么东西
2017/11/10 Python
对numpy中布尔型数组的处理方法详解
2018/04/17 Python
终端命令查看TensorFlow版本号及路径的方法
2018/06/13 Python
python开启摄像头以及深度学习实现目标检测方法
2018/08/03 Python
python实现彩色图转换成灰度图
2019/01/15 Python
opencv python统计及绘制直方图的方法
2019/01/21 Python
python3去掉string中的标点符号方法
2019/01/22 Python
Python socket模块实现的udp通信功能示例
2019/04/10 Python
html5指南-1.html5全局属性(html5 global attributes)深入理解
2013/01/07 HTML / CSS
EJB的激活机制
2013/10/25 面试题
会计电算一体化个人简历的自我评价
2013/10/15 职场文书
生物学学生自我评价
2014/01/17 职场文书
幼儿园小班开学寄语(2016秋季)
2015/12/03 职场文书
python图片灰度化处理的几种方法
2021/06/23 Python
纯html+css实现打字效果
2021/08/02 HTML / CSS
忘记Grafana不要紧2种Grafana重置admin密码方法详细步骤
2022/04/07 Servers