python+pyside+py2exe+inno setup 开发图形界面程序
来源:互联网 发布:win7网络里的网络设施 编辑:程序博客网 时间:2024/06/05 14:10
基本思想:
1 利用pyside开发python版图形界面程序(利用Qt开发图形界面程序)
2 利用py2exe将python脚本转换成windows上的可独立执行的可执行程序(不需要安装python和Qt)
3 将exe程序和相关库打包成安装程序。
1 pyside
安装pyside后,~\Python27\Lib\site-packages\PySide目录里,我们可以利用designer.exe这个程序,编辑图形界面。界面如下:
设计好界面后,生成了XXX.ui文件。这时候,我们进入~\Python27\Scripts目录,使用pyside-uic.exe执行如下命令:
pyside-uic E:\user\PycharmProjects\XXX\XXX.ui -o XXX_ui.py
我们把XXX_ui.py放在项目里,然后编辑py脚本。例如:
from PySide.QtGui import *
from XXX_ui import Ui_Form
class LoginForm(QDialog):
def __init__(self, parent=None):
QDialog.__init__(self, parent)
self.ui= Ui_Form()
self.ui.setupUi(self)
from XXX_ui import Ui_Form
class LoginForm(QDialog):
def __init__(self, parent=None):
QDialog.__init__(self, parent)
self.ui= Ui_Form()
self.ui.setupUi(self)
好了,剩下的就是完成你的程序了。
2 py2exe
完成程序开发后,我们现在打算将其转换成windows上的可独立执行的可执行程序(不需要安装python和Qt)。首先需要编写一个setup.py的脚本,代码如下:
from distutils.core import setup
import py2exe
# Set options
options ={ 'py2exe':
{
'dll_excludes':['w9xpopen.exe'] #This file is for win9x platform
}
}
# Setup
setup ( options = options,
windows = [{
'script': 'Logspliter.py', "icon_resources": [(1, "logspliter.ico")]
}]
)
import py2exe
# Set options
options ={ 'py2exe':
{
'dll_excludes':['w9xpopen.exe'] #This file is for win9x platform
}
}
# Setup
setup ( options = options,
windows = [{
'script': 'Logspliter.py', "icon_resources": [(1, "logspliter.ico")]
}]
)
下面我们执行如下命令:
python setup.py py2exe如果顺利的话,会出现如下信息:
进入项目目录,我们就会看到dist文件夹和build文件夹,其中dist就是我们需要的真正内容。进入dist文件夹,看看生成的exe是否可以正常运行。如果可以,恭喜你,成功了!我们只需要把dist文件夹发给别人,不管他们的电脑是否安装了python和Qt,你的程序都可以正常使用。不过使用这种方式还是有缺点的,就是哪怕你写个hello world程序,dist文件夹也会很大,一般在20-30M左右。
3 inno setup
最后一步,使用inno setup将dist文件夹打包起来,生成安装文件。这样我们就可以把这个独立的安装文件与他人分享了。
写起来很简单,但是在开发的过程中,还是遇到了很多问题的。
问题1:窗口如何固定大小?
答:1 设置它的最大大小和最小大小,并且使它们的值相等,都等于当前你设置的窗口尺寸。
self.setMinimumSize(X, Y)
self.setMaximumSize(X, Y)
2 使用setFixedSize()。
self.setFixedSize(X,Y)
问题2:使用python setup.py py2exe,生成可执行文件时,报如下错误:
from pkg_resources import load_entry_point ImportError: No module named pkg_resources
答:百度一下,没找到结果。Google一下,最终在Stackoverflow上找到答案了,其实也简单,应该是python的setuptools安装得有问题,使用如下命令:
curl http://python-distribute.org/distribute_setup.py | python
不过,需要说明的是,这是在linux下的命令,翻译一下,就是我们把distribute_setup.py脚本下载下来,使用python执行一下就可以了。
来自为知笔记(Wiz)
0 0
- python+pyside+py2exe+inno setup 开发图形界面程序
- python+pyside+py2exe+inno setup 开发图形界面程序
- py2exe+inno setup集成打包python程序
- 【Python】爬图片,Py2exe打包成EXE,并用inno setup生成安装文件
- py2exe打包python程序
- py2exe打包python程序
- py2exe打包Python程序
- delphi Inno Setup 制作安装程序
- 利用Inno Setup打包Qt程序
- 利用Inno Setup制作补丁安装程序
- 使用Inno Setup制作安装程序
- Inno Setup 5制作安装程序
- inno setup安装包程序完整版
- 用inno setup制作安装程序
- 使用Inno Setup打包Winform程序
- 免费安装制作程序 Inno Setup
- 使用Inno SetUp脚本打包Winform程序
- Inno Setup 注册表获取程序安装路径
- 【原创】SQL:replace into用法
- dubbo zookeepr
- 笔试题:递归打印文件夹内所有文件中包含xxx的行
- 耐得住孤独,才能守得住繁华
- request.getParameter()与request.setAttribute()的区别
- python+pyside+py2exe+inno setup 开发图形界面程序
- android自定义键盘--类似支付宝支付
- 第八周
- @RequestMapping @ResponseBody
- 【原创】Javascript在html中的执行顺序
- 将博客搬至CSDN
- java内存溢出问题解决办法
- src控件
- bzoj3224 普通平衡树【解法三】