使用python开发windows应用程序.doc_第1页
使用python开发windows应用程序.doc_第2页
使用python开发windows应用程序.doc_第3页
使用python开发windows应用程序.doc_第4页
使用python开发windows应用程序.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

使 用python开发windows应用程序本人以前一直用的是C+,MFC,毕业到了公司以后,公司用python做流程,我顺便最近研究了一下用python开发 windows应用程序的整个流程,大体如下:一、开发前期准备 1.boa-constructor-0.6.1.bin.setup.exe #一个wxWidges的集成开发环境,简单如Delphi,可以直接拖拽控件,并且和其他集成环境不一样, #它不与集成开发环境的MainLoop冲突,用pythonwin,pyScripter都会冲突,典型报错就是运行第二次 #程序的时候,直接导致集成开发环境的强制退出,因为MainLoop冲突了2.wxPython2.8-win32-unicode--py26.exe #wxPython库,提供了用C+写的windows组件库wx 3.py2exe-0.6.9.win32-py2.6.exe #打包发布工具,将python写的windows程序或控制台程序直接打包成exe可执行文件,供用户使用 上述三个软件都是基于python2.6的,软件版本一定要配套,因为他们默认的安装路径和python版本有关系,否则会找不到相关库的存在。二、开发 软件安装完以后,打开BOA,哇塞,拖控件真简单,而且属性啥的和Dephi差不多,你只要改改属性,代码会自动生成,它生成的控件很漂亮,记得以前用 C+6.0开发软件的时候,那个控件真丑,都需要我重新用控件库去绑定优化,现在不用了BOA生成的控件,视觉效果相当好开发软件速度相当快,再也 不用为了软件界面而写太多代码,也不用为了生成一个小程序而生成了很多的文件,python开发的程序,没有多余的文件,而且文件很小。三、发布 很多人都想在自己的软件程序写好以后,发布给其他人使用,一方面不希望自己的代码泄露,一方面以此显出一点成就感,呵呵,可以使用py2exe将你的 windows程序打包发布了!当然,首先你得写个如下的setup.py文件:代码 1 from distutils.core 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) ,18 )你可以在命令行下运行: python setup.py py2exe,那么你就会发现你的应用程序出现在dist文件夹里了,恭喜你,完成了windows应用程序的开发! python学习初次接触(python,wxpython,Boa,py2exe) 收藏 前言 长期使用java做web开发,有时候需要做一些小工具的话,优先考虑的一般是写ant或bat等脚本,因为开发较快,并且很容易集成到IDE中。 不过有时候一些桌面程序级别的工具也是需要的,比如说写一些文档生成相关的工具等。这个时候采用java是不太合算的,因为开发效率不高(虽然有netbeans,eclipse上也有swt designer),性能也有一点影响,而且还必须要有JRE的支持。采用.net框架倒是开发效率挺高,而且性能也不错,但是IDE价格较高,程序无法 移植到其他平台,并且也需要有CLR的支持。没招,就只有找找看其他的编程语言了。在网上搜索了一下,发现Python可能是一个很好的替代品:面向对象的脚本语言,稍微修改一下就可以实现跨平台,有wxPython这种GUI插 件的支持,使用py2exe等打包工具打包之后的文件大小也远小于同样功能的java程序,经过某些类似于psyco工具的处理之后,性能也还不错。缺点 也有,就是没有一个可以媲美visual 的IDE,不过也有Boa Constructor和eclipse插件pydev这样的工具,应该可以忍受了。而且python作为google的官方编程语言之一,现在在编程语言排行榜上排名前10,那么就肯定是优点胜过缺点的。那么就先简单地试用一下总 是可以的吧。断断续续的用了几天时间来了解相关的工具,语法,终于写出了一个最简单的GUI程序,并且打成了一个程序包,拷贝到到其他PC上运行成功。虽然中间 遇到一些问题,但也学习了很多,所以先写blog记下来。能帮到其他人就更好了。工具准备 python现在的最新版是3.1.1,而且3.0之后的版本的语法与之前的版本相比已经有了一定的变更,但是相关的wxpython等还没有支持 到这么高的版本,为了能够使用wxpython来编写GUI程序,只能放弃新版本了。所以选择了2.x系列中的最新版:2.6.2,同样wxPython 也选择了for2.6的版本wxPython2.8-win32-unicode--py26。然后下载最新的Boa Constructor:boa-constructor-0.6.1.bin.setup.exe。(下载地址参见参考资料)按顺序依次安装:python2.6.2 - wxPython2.8 - Boa Constructor.不过之后因为要使用py2exe打包的原因,把版本下降成了2.5系列。入门 安装好之后,就可以直接使用了。python自带了一个名字叫IDLE的开发环境,不写GUI程序的话,还是很好用的。打开工具,写一句print hello world,敲回车,马上就可以看到效果了,呵呵,似乎入门很容易。从网上下载了一份ppt格式的教程,简单的了解一下基本语法,然后按照教程中的示例代码练习了一下,就算入门了。相比java和.net的庞大类 库,python算是蛮简单的,而且本身是动态语言,所以非常的灵活。动态语言是未来的趋势,多练习点只有好处。GUI 虽然IDLE基本上可以满足简单的程序,但我的主要目的还是要做GUI程序,所以上手Boa是必不可少的。打开Boa之后一看,界面确实有点简单, 不过GUI程序的必备工具(工具栏,属性查看器,编辑器)一应俱全,所以也没有什么特别的。只不过有一点不爽,就是这三个东东并不是像平时使用的IDE那 样集成在一个窗口中的,而是分属于三个不同的窗口,在使用Alt + Tab键切换的时候,一次只能切换一个窗口,很不爽,不知道是从哪里参照的用户习惯。参考这篇文章(Boa constructor简介 )中的介绍,写了一个只有一个button的界面出来。简单的步骤如下:1. 先创建一个wx.App,同时会自动创建一个wx.Frame2. 通过Editor中的Frame Designer往Frame中添加了一个wx.Panel3. 跟2类似的步骤往wx.Panel中添加了一个button4. 在Inspector窗口中,给button增加一个单击事件5. 在这个单击事件的函数的event.skip()前面,增加如下代码(弹出一个确认窗口)dlg = wx.MessageDialog(self, uyes, uYou got it, wx.OK | wx.ICON_INFORMATION )dlg.ShowModal()dlg.Destroy()6. 保存以上代码,然后按F9运行,就可以看到一个带button的窗口,点击button又会弹出一个confirm窗口。OK,至此程序创造成功。打包 了解了一下,发现有python的打包程序至少有十几个之多,其中出名的有py2exe,pyinstaller,pypackage。本次学习选 用了py2exe。下载了py2exe-0.6.9.win32-py2.6.exe,安装上简单试用了一下。首先,先在之前用Boa创建的目录下新建了一个mypy.py文件,里面内容为:from distutils.core import setupimport py2exesetup(windows=App1.py)然后执行命令:python mypy.py py2exe,出现错误。错误信息如下:error: MSVCP90.dll : No such file or directory查看网友的文章,可以肯定是这一个版本的问题,虽然也有解决的方法,但是并不太好,所以最终选择了直接安装低版本,版本低就相对要稳定的多嘛。于是乎,python-2.5.4.msi,wxPython2.8-win32-unicode-- py25.exe,py2exe-0.6.9.win32-py2.5.exe全部down了下来,并且把之前的版本都替换了。再次试用py2exe打包,终于成功的获得了一个App1.exe和一堆相关的文件,总文件大小约14M多,虽然也是很大,不过比起带JRE的程序 来讲,还是小的多了,可以忍受。然后把程序拷贝到其他机器上运行,又出错了。错误信息是找不到gdiplus.dll文件。 神 了,这种事情都发生。到机器上搜索了一下,这个文件在很多软件的安装目录下都有,在wxpython的目录下也有的。就是不知道为什么py2exe就是没 有导出来,无语,看来这个版本也不是完美的。忍了,把guiplus.dll直接拷贝到打包出来的目录下,然后在其他机器上运行,终于OK了,看来以后这 一步手动操作是避免不了的了。 这次 就算完整的走了一圈了。可是怎么看那个exe程序的windows窗口外形的图标都感觉特别不爽。于是到自己的硬盘上找了一个好看的图标放到程序的目录 下,然后修改mypy.py的内容如下:from distutils.core import setupimport py2exesetup(windows=script:App1.py,icon_resources:(1,A0052345.ico)执行命令python mypy.py py2exe,OK,exe文件的图标被成功地替换了。呵呵,这个最简单的GUI程序就算出炉了。总结 经过 这么一次折腾,终于对python以及python相关的工具有了一些了解。 总的来说,python是一种面向对象的解释性编程语言,近似于伪代码的语法,还是非常易于学习的。而且作为一种黏合剂语言,它的用途也是非常的广 泛。不过在IDE方面还稍微有点弱,即便是几个商业版本的IDE,也不是特别让开发者满意。不过我现在的目的就是可以拿来做一些小的带有界面的工具而已,也不需要太强大的IDE,暂时还是可以满足的。以后要找机会尝试一些eclipse + pydev。毕竟,以eclipse的强大,相信这个IDE很有希望成为开源的python IDE中的老大哥。参考资料: 1. Python_百度百科: /view/21087.htm2. python: 3. wxpython: 4. Boa Con

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论