使用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 相关文章推荐
netbeans7安装python插件的方法图解
Dec 24 Python
python控制台显示时钟的示例
Feb 24 Python
举例讲解Linux系统下Python调用系统Shell的方法
Nov 07 Python
Python中的time模块与datetime模块用法总结
Jun 30 Python
Python 备份程序代码实现
Mar 06 Python
利用python的socket发送http(s)请求方法示例
May 07 Python
Python清空文件并替换内容的实例
Oct 22 Python
python 找出list中最大或者最小几个数的索引方法
Oct 30 Python
python实现树的深度优先遍历与广度优先遍历详解
Oct 26 Python
关于Numpy数据类型对象(dtype)使用详解
Nov 27 Python
Python转换itertools.chain对象为数组的方法
Feb 07 Python
python:删除离群值操作(每一行为一类数据)
Jun 08 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输出Excel文件类
2010/02/08 PHP
php 图片加水印与上传图片加水印php类
2010/05/12 PHP
php防止sql注入代码实例
2013/12/18 PHP
Ajax+PHP实现的删除数据功能示例
2019/02/12 PHP
PHP 数组操作详解【遍历、指针、函数等】
2020/05/13 PHP
javascript中对对层的控制
2006/12/29 Javascript
checkbox 多选框 联动实现代码
2008/10/22 Javascript
JavaScript 数组运用实现代码
2010/04/13 Javascript
Js操作树节点自动折叠展开的几种方法
2014/05/05 Javascript
举例说明JavaScript中的实例对象与原型对象
2016/03/11 Javascript
基于JS代码实现当鼠标悬停表格上显示这一格的全部内容
2016/06/12 Javascript
jquery 属性选择器(匹配具有指定属性的元素)
2016/09/06 Javascript
JS数组去重(4种方法)
2017/03/27 Javascript
ES6教程之for循环和Map,Set用法分析
2017/04/10 Javascript
JS获取填报扩展单元格控件的值的解决办法
2017/07/14 Javascript
React.Js添加与删除onScroll事件的方法详解
2017/11/03 Javascript
基于nodejs res.end和res.send的区别
2018/05/14 NodeJs
浅析vue 函数配置项watch及函数 $watch 源码分享
2018/11/22 Javascript
Angular PWA使用的Demo示例
2019/01/31 Javascript
微信小程序云开发实现增删改查功能
2019/05/17 Javascript
JS实现可视化音频效果的实例代码
2020/01/16 Javascript
JS前端广告拦截实现原理解析
2020/02/17 Javascript
Python的净值数据接口调用示例分享
2016/03/15 Python
virtualenv实现多个版本Python共存
2017/08/21 Python
pandas.DataFrame.drop_duplicates 用法介绍
2020/07/06 Python
使用layui框架实现点击左侧导航切换右侧内容且右侧选项卡跟随变化的效果
2020/11/10 HTML / CSS
Java基础类库面试题
2013/09/04 面试题
理工大学毕业生自荐信
2013/11/01 职场文书
工商企业管理应届生求职信
2014/05/04 职场文书
购房协议书范本
2014/10/02 职场文书
工作能力自我评价2015
2015/03/05 职场文书
幼儿园大班教师随笔
2015/08/14 职场文书
2016民族团结先进个人事迹材料
2016/02/26 职场文书
Python基础之数据类型知识汇总
2021/05/18 Python
缓存替换策略及应用(以Redis、InnoDB为例)
2021/07/25 Redis
Golang 1.18 多模块Multi-Module工作区模式的新特性
2022/04/11 Golang