使用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中还原JavaScript的escape函数编码后字符串的方法
Aug 22 Python
Python3中常用的处理时间和实现定时任务的方法的介绍
Apr 07 Python
python使用自定义user-agent抓取网页的方法
Apr 15 Python
用Python写一个无界面的2048小游戏
May 24 Python
详解Python中的相对导入和绝对导入
Jan 06 Python
django模型层(model)进行建表、查询与删除的基础教程
Nov 21 Python
利用Python将文本中的中英文分离方法
Oct 31 Python
keras 使用Lambda 快速新建层 添加多个参数操作
Jun 10 Python
python分布式爬虫中消息队列知识点详解
Nov 26 Python
Python爬虫爬取ts碎片视频+验证码登录功能
Feb 22 Python
pytorch 如何使用batch训练lstm网络
May 28 Python
使用Python开发贪吃蛇游戏 SnakeGame
Apr 30 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
php下统计用户在线时间的一种尝试
2010/08/26 PHP
iOS+PHP注册登录系统 PHP部分(上)
2016/12/26 PHP
Centos 6.5下PHP 5.3安装ffmpeg扩展的步骤详解
2017/03/02 PHP
php实现头像上传预览功能
2017/04/27 PHP
Laravel框架实现的批量删除功能示例
2019/01/16 PHP
Thinkphp 在api开发中异常返回依然是html的解决方式
2019/10/16 PHP
YII2框架中添加自定义模块的方法实例分析
2020/03/18 PHP
Javascript打印网页部分内容的脚本
2008/11/17 Javascript
JQuery 常用操作代码
2010/03/14 Javascript
js 事件处理函数间的Event物件是否全等
2011/04/08 Javascript
js调用后台servlet方法实例
2013/06/09 Javascript
jquery获取html元素的绝对位置和相对位置的方法
2014/06/20 Javascript
利用js实现禁止复制文本信息
2015/06/03 Javascript
使用JavaScript刷新网页的方法
2015/06/04 Javascript
JS实现从连接中获取youtube的key实例
2015/07/02 Javascript
JS验证逗号隔开可以是中文字母数字
2016/04/22 Javascript
浅谈jQuery中的eq()与DOM中element.[]的区别
2016/10/28 Javascript
深入学习jQuery中的data()
2016/12/22 Javascript
jQuery实现简单的抽奖游戏
2017/05/05 jQuery
layer.open的自适应及居中及子页面标题的修改方法
2019/09/05 Javascript
使用 Element UI Table 的 slot-scope方法
2019/10/10 Javascript
vue中使用v-for时为什么不能用index作为key
2020/04/04 Javascript
微信小程序开发数据缓存基础知识辨析及运用实例详解
2020/11/06 Javascript
[01:36:19]Secret vs NB 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
对pandas的算术运算和数据对齐实例详解
2018/12/22 Python
Python 实现还原已撤回的微信消息
2019/06/18 Python
python pickle存储、读取大数据量列表、字典数据的方法
2019/07/07 Python
Python 使用 PyMysql、DBUtils 创建连接池提升性能
2019/08/14 Python
详解Python可视化神器Yellowbrick使用
2019/11/11 Python
利用Opencv实现图片的油画特效实例
2021/02/28 Python
艺术设计专业个人求职信范文
2013/12/11 职场文书
《海底世界》教学反思
2014/04/16 职场文书
小学教师师德承诺书
2014/05/23 职场文书
超市开业庆典活动策划方案
2014/09/15 职场文书
学生会副主席竞选稿
2015/11/19 职场文书
SpringCloud中分析讲解Feign组件添加请求头有哪些坑梳理
2022/06/21 Java/Android