Python使用wxPython、py2exe编写桌面程序
来源:互联网 发布:c4d mac 中文版百度云 编辑:程序博客网 时间:2024/06/05 07:27
python是支持可视化编程,即编写gui程序,你可以用它来编写自己喜欢的桌面程序。使用wxPython来做界面非常的简单,只是不能像C#一样拖动控件,需要自行写代码布局。在完成编写之后,由于直接的py文件不能再没有安装python的电脑上运行,能否有一个打包成在任意电脑都能运行的工具,网上找找发现了py2exe正好可以完成这个功能。wxPython和py2exe都是开源免费软件。
wxPython: 下载后双击安装即可,安装程序会自动安装到对应python\Scripts下。
py2exe:同样双击即可安装,注意下载要对应使用的Python版本。
下面分别示例说明wxPython和py2exe的简单使用。
文件名:wxTest.py:
# -*- coding: cp936 -*-'''MainWindow类完成最简单的编辑功能,添加一个主菜单,两个子菜单(about和exit)'''import wx class MainWindow(wx.Frame): '''定义一个窗口类''' def __init__(self, parent, title): wx.Frame.__init__(self, parent, title=title, size=(300, 300)) self.control = wx.TextCtrl(self, style=wx.TE_MULTILINE) self.setupMenuBar() self.Show(True) def setupMenuBar(self): self.CreateStatusBar() menubar = wx.MenuBar() menufile = wx.Menu() mnuabout = menufile.Append(wx.ID_ABOUT, '&About', 'about this shit') mnuexit = menufile.Append(wx.ID_EXIT, 'E&xit', 'end program') menubar.Append(menufile, '&File') #事件绑定 self.Bind(wx.EVT_MENU, self.onAbout, mnuabout) self.Bind(wx.EVT_MENU, self.onExit, mnuexit) self.SetMenuBar(menubar) def onAbout(self, evt): '''点击about的事件响应''' dlg = wx.MessageDialog(self, 'This app is a simple text editor', 'About my app', wx.OK) dlg.ShowModal() dlg.Destroy() def onExit(self, evt): '''点击退出''' self.Close(True)app = wx.App(False)frame = MainWindow(None, 'Small Ed
编辑好改文件后,使用py2exe将Python脚本编译成Windows可执行文件,这样就不需要Python解释器了。要使用py2exe,首先要编写一个编译脚本,然后通过Python运行编译脚本即可将其他的脚本编译成可执行文件。以下实例是将要编译成可执行文件的脚本,文件名:setup.py
import distutilsimport py2exedistutils.core.setup(windows=['wxTest.py'])
在setup.py中除了导入必需的模块以外,只有一条语句:
distutils.core.setup(windows=['wxTest.py'])
方括号中就是要编译的脚本名,前边的windows 表示将其编译成GUI程序。如果要编译命令行界面的可执行文件,只要将windows改为console,如果需要将脚本编译成Windows服务,则可以使用service选项。
都编辑好之后,将wxTest.py和setup.py放在同一个路径下,cmd进入该路径,输入:
setup.py py2exe
如果在运行时报以下错误:
error: MSVCP90.dll: No such file or directory
是因为没有找到MSVCP90.dll,在windows目录下搜索MSVCP90.dll这个文件,然后拷到python安装目录的DLLs下就可以了。
当打包PyQt项目时,可能会报以下错误
ImportError: No module named sip
这时只需要在打包时加上--includes sip就行啦,如:
setup.py py2exe --includes sip
运行结束之后,会在路径下生成dist和 build两个目录。其中dist目录中就是编译生成的文件。如果要在其他未安装Python的机器上运行编译好的程序,只要将dist目录复制到其他机器上即可。双击运行wxTest.exe,如图:
转自:Python使用wxPython、py2exe编写桌面程序
- Python使用wxPython、py2exe编写桌面程序
- Python使用wxPython、py2exe编写桌面程序
- Python使用wxPython、py2exe编写桌面程序
- Python使用wxPython、py2exe编写桌面程序
- Python使用wxPython、py2exe编写桌面程序-部署环境
- Python程序使用py2exe打包
- [学习笔记]使用py2exe打包python程序
- 使用py2exe打包发布python程序
- python程序打包(使用py2exe)
- [转]py2exe打包发布wxPython程序
- py2exe:python,wxpython转exe可执行文件
- python、wxpython、boa construct的安装 & 一个桌面小程序
- 【Python】基于候选数的解数独算法 + 使用wxPython编写程序界面
- py2exe打包python程序
- py2exe打包python程序
- py2exe打包Python程序
- 【Python】使用 py2exe打包Python程序为.exe文件
- python GUI编程——wxpython编写简单记事本程序
- Git设置用户名和邮箱
- Android视图状态及重绘流程分析,带你一步步深入了解View(三)
- 最小生成树(Kruskal算法)模板
- hibernate连接mysql时,配置正确,账号密码正确,启动时报 access denied ...
- 复式、阁楼第二层算不算面积
- Python使用wxPython、py2exe编写桌面程序
- UNIX学习之路 一步一个脚印之socket编程/Socket的参数
- [BZOJ1208][HNOI2004]宠物收养所(平衡树splay)
- Phpstrom 2016 2.2破解(持续更新17-08-8版)
- leetcode 27. Remove Element
- java to scala 使用笔记
- MyEclipse小技巧
- BaseAtapter
- 深入一点 让细节帮你和Fragment更熟络