使用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中的二维数组的操作方法
May 02 Python
剖析Django中模版标签的解析与参数传递
Jul 21 Python
Python错误: SyntaxError: Non-ASCII character解决办法
Jun 08 Python
R vs. Python 数据分析中谁与争锋?
Oct 18 Python
Windows下Anaconda2安装NLTK教程
Sep 19 Python
python+mysql实现教务管理系统
Feb 20 Python
解决python中用matplotlib画多幅图时出现图形部分重叠的问题
Jul 07 Python
pytorch实现用Resnet提取特征并保存为txt文件的方法
Aug 20 Python
Keras使用tensorboard显示训练过程的实例
Feb 15 Python
Python使用pyyaml模块处理yaml数据
Apr 14 Python
Python验证码截取识别代码实例
May 16 Python
python实现从ftp上下载文件的实例方法
Jul 19 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
人族 Terran 魔法与科技
2020/03/14 星际争霸
重量级动漫纷纷停播!唯独OVERLORD第四季正在英魂之刃继续更新
2020/05/06 日漫
简单介绍下 PHP5 中引入的 MYSQLI的用途
2007/03/19 PHP
PHP执行速率优化技巧小结
2008/03/15 PHP
常用的php对象类型判断
2008/08/27 PHP
令PHP初学者头疼十四条问题大总结
2008/11/12 PHP
php smarty模版引擎中变量操作符及使用方法
2009/12/11 PHP
smarty模板判断数组为空的方法
2015/06/10 PHP
PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决
2016/04/17 PHP
Yii数据读取与跳转参数传递用法实例分析
2016/07/12 PHP
Js+XML 操作
2006/09/20 Javascript
js 操作select相关方法函数
2009/12/06 Javascript
jQuery Ajax 仿AjaxPro.Utility.RegisterTypeForAjax辅助方法
2011/09/27 Javascript
javascript 进阶篇3 Ajax 、JSON、 Prototype介绍
2012/03/14 Javascript
javaScript让文本框内的最后一个文字的后面获得焦点实现代码
2013/01/06 Javascript
重写document.write实现无阻塞加载js广告(补充)
2014/12/12 Javascript
对比分析AngularJS中的$http.post与jQuery.post的区别
2015/02/27 Javascript
javascript中arguments,callee,caller详解
2016/03/16 Javascript
浅析JavaScript动画模拟拖拽原理
2016/12/09 Javascript
Angular获取手机验证码实现移动端登录注册功能
2017/05/17 Javascript
详解vue-cli项目中怎么使用mock数据
2018/05/29 Javascript
详解Vue iview IE浏览器不兼容报错(Iview Bable polyfill)
2019/01/07 Javascript
Python基于pycrypto实现的AES加密和解密算法示例
2018/04/10 Python
Python数据存储之 h5py详解
2019/12/26 Python
python操作toml文件的示例代码
2020/11/27 Python
HTML5手机端弹出遮罩菜单特效代码
2016/01/27 HTML / CSS
使用phonegap播放音频的实现方法
2017/03/31 HTML / CSS
实习单位推荐信范文
2013/11/27 职场文书
会计专业职业规划:规划自我赢取未来
2014/02/12 职场文书
大学班级学风建设方案
2014/05/01 职场文书
公共艺术专业自荐信
2014/09/01 职场文书
妇产科护理心得体会
2016/01/22 职场文书
Centos环境下Postgresql 安装配置及环境变量配置技巧
2021/05/18 PostgreSQL
Python常遇到的错误和异常
2021/11/02 Python
Java tomcat手动配置servlet详解
2021/11/27 Java/Android
canvas 中如何实现物体的框选
2022/08/05 Javascript