python+pyside+py2exe+inno setup 开发图形界面程序

基本思想:
        1 利用pyside开发python版图形界面程序(利用Qt开发图形界面程序)
        2 利用py2exe将python脚本转换成windows上的可独立执行的可执行程序(不需要安装python和Qt)
        3 将exe程序和相关库打包成安装程序。
 
1 pyside
        安装pyside后,~\Python27\Lib\site-packages\PySide目录里,我们可以利用designer.exe这个程序,编辑图形界面。界面如下:
python+pyside+py2exe+inno setup 开发图形界面程序 - 尚武思文 - 尚武思文
        设计好界面后,生成了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 )
 
好了,剩下的就是完成你的程序了。
 
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" ) ]
    } ]
)
 
下面我们执行如下命令:
python setup.py py2exe
 
如果顺利的话,会出现如下信息:
python+pyside+py2exe+inno setup 开发图形界面程序 - 尚武思文 - 尚武思文
 
        进入项目目录,我们就会看到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执行一下就可以了。




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值