使用 python 开发 windows 应用程序
本人以前一直用的是C++,MFC,毕业到了公司以后,公司用python做流程,我
顺便最近研究了一下用python开发 windows 应用程序的整个流程,大体如下:
一、开发前期准备
1.boa-constructor-0.6.1. #一个wxWidges 的集成开发环境,简单如
Delphi,可以直接拖拽控件,并且和其他集成环境不一样,
#它不与集成开发环境的MainLoop冲突,用pythonwin,pyScripter都会冲突,典型
报错就是运行第二次
#程序的时候,直接导致
集成开发环境的强制退出,因为MainLoop冲突了
2.wxPython2.8-win32-unicode-2.8. #wxPython库,提供了用C++写的
windows 组件库wx
3.py2exe-0.6.9. #打包发布工具,将python写的windows 程序或控
制台程序直接打包成exe 可执行文件,供用户使用
上述三个软件都是基于python2.6的,软件版本一定要配套,因为他们默认的安
装路径和python版本有关系,否则会不到相关库的存在。
二、开发
软件安装完以后,打开BOA,哇塞,拖控件真简单,而且属性啥的和Dephi差
不多,你只要改改属性,代码会自动生成,它生成的控件很漂亮,记得以前用
C++6.0开发软件的时候,那个控件真丑,都需要我重新用控件库去绑定优化,
现在不用了~BOA生成的控件,视觉效果相当好~开发软件速度相当快,再也
不用为了软件界面而写太多代码,也不用为了生成一个小程序而生成了很多的
文件,python开发的程序,没有多余的文件,而且文件很小。
三、发布
很多人都想在自己的软件程序写好以后,发布给其他人使用,一方面不希望自
己的代码泄露,一方面以此显出一点成就感,呵呵,可以使用py2exe将你的 windows 程序打包发布了!当然,首先你得写个如下的setup.py文件:
代码
1 import setup
倍角公式
2 import py2exe
3 includes = ["encodings", "encodings.*"]
4 options = {"py2exe":
5 { "compressed": 1,
6 "optimize": 2,
7 "includes": includes,
8 "bundle_files": 1
9 }
10 }
11 setup(
12 version = "0.1.0",
13 description = "windows program",
14 name = "winsetup",
15 options = options,
16 zipfile=None,
17 windows=[{"script": "myscript.py", "icon_resources": [(1,
"PyCrust.ico")] }], parselnt在html是怎么意思
18 )
你可以在命令行下运行: python setup.py py2exe,那么你就会发现你的应用程序出
现在dist文件夹里了,恭喜你,完成了windows 应用程序的开发!
python python python python 学习 学习 学习 学习—— —— —— ——初次接触 初次接触 初次接触 初次接触
(python,wxpython,Boa,py2exe) (python,wxpython,Boa,py2exe) (python,wxpython,Boa,py2exe) (python,wxpython,Boa,py2exe) 收藏 收藏 收藏 收藏
前言 前言 前言 前言 长期使用java 做web开发,有时候需要做一些小工具的话,优先考虑的一般是
写ant或bat等脚本,因为开发较快,并且很容易集成到IDE中。 不过有时候一
些桌面程序级别的工具也是需要的,比如说写一些文档生成相关的工具等。
织梦园免费模板这个时候采用java 是不太合算的,因为开发效率不高(虽然有netbeans,eclipse
上也有swt designer),性能也有一点影响,而且还必须要有JRE的支持。采用
框架倒是开发效率挺高,而且性能也不错,但是IDE价格较高,程序无法 移植
到其他平台,并且也需要有CLR 的支持。
没招,就只有看其他的编程语言了。
在网上搜索了一下,发现Python可能是一个很好的替代品:面向对象的脚本语
言,稍微修改一下就可以实现跨平台,有wxPython这种GUI插 件的支持,使用
py2exe 等打包工具打包之后的文件大小也远小于同样功能的java 程序,经过某些
类似于psyco工具的处理之后,性能也还不错。缺点 也有,就是没有一个可以
媲美visual studio的IDE,不过也有Boa Constructor和eclipse 插件pydev这样
的工具,应该可以忍受了。
而且python作为google 的官方编程语言之一,现在在编程语言排行榜上排名前
10,那么就肯定是优点胜过缺点的。那么就先简单地试用一下总 是可以的吧。
断断续续的用了几天时间来了解相关的工具,语法,终于写出了一个最简单的
GUI程序,并且打成了一个程序包,拷贝到到其他PC 上运行成功。虽然中间 遇
kindeditor使用视频到一些问题,但也学习了很多,所以先写blog记下来。能帮到其他人就更好了。
工具准备 工具准备 工具准备 工具准备
python现在的最新版是3.1.1,而且3.0之后的版本的语法与之前的版本相比已经
有了一定的变更,但是相关的wxpython等还没有支持 到这么高的版本,为了能
够使用wxpython来编写GUI程序,只能放弃新版本了。所以选择了2.x系列中的
最新版:2.6.2,同样wxPython 也选择了for2.6的版本
wxPython2.8-win32-unicode-2.8.10.1-py26。然后下载最新的Boa Constructor:
boa-constructor-0.6.1.。(下载地址参见参考资料)
按顺序依次安装:python2.6.2 -> wxPython2.8 -> Boa Constructor.
※不过之后因为要使用py2exe 打包的原因,把版本下降成了2.5系列。
入门 入门 入门 入门 安装好之后,就可以直接使用了。python自带了一个名字叫IDLE的开发环境,
不写GUI程序的话,还是很好用的。打开工具,写一句print "hello world",敲回
车,马上就可以看到效果了,呵呵,似乎入门很容易。
从网上下载了一份ppt格式的教程,简单的了解一下基本语法,然后按照教程中
的示例代码练习了一下,就算入门了。相比java 和的庞大类 库,python算是
蛮简单的,而且本身是动态语言,所以非常的灵活。动态语言是未来的趋势,多
练习点只有好处。
GUI GUI GUI GUI
虽然IDLE基本上可以满足简单的程序,但我的主要目的还是要做GUI程序,所
以上手Boa 是必不可少的。打开Boa 之后一看,界面确实有点简单, 不过GUI
python入门教程app程序的必备工具(工具栏,属性查看器,编辑器)一应俱全,所以也没有什么特别
的。只不过有一点不爽,就是这三个东东并不是像平时使用的IDE那 样集成在
一个窗口中的,而是分属于三个不同的窗口,在使用"Alt + Tab"键切换的时候,
一次只能切换一个窗口,很不爽,不知道是从哪里参照的用户习惯。
参考这篇文章(Boa constructor简介 )中的介绍,写了一个只有一个button的界
面出来。
简单的步骤如下:
1. 先创建一个wx.App,同时会自动创建一个wx.Frame
2. 通过Editor中的Frame Designer往Frame 中添加了一个wx.Panel
3. 跟2类似的步骤往wx.Panel中添加了一个button
4. 在Inspector窗口中,给button增加一个单击事件
5. 在这个单击事件的函数的event.skip()前面,增加如下代码 (弹出一个确认窗口)
dlg = wx.MessageDialog(self, u'yes',
u'You got it~',
wx.OK | wx.ICON_INFORMATION
)
dlg.ShowModal()
dlg.Destroy() 6. 保存以上代码,然后按F9运行,就可以看到一个带button的窗口,点击button
又会弹出一个confirm 窗口。
OK,至此程序创造成功。
打包 打包 打包 打包
了解了一下,发现有python的打包程序至少有十几个之多,其中出名的有
py2exe,pyinstaller,pypackage。本次学习选 用了py2exe。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论