pyqt实践——从裸机到打包安装

1 安装python

安装python-2.7.6.msi默认在c盘

设置环境变量,path后追加c:/python27。可以在命令行直接认识命令python

2 安装pyqt

PyQt4-4.10-gpl-Py2.7-Qt4.8.4-x32.exe,会自动寻找python路径,并装在python安装目录下

测试:命令行进入python。敲入 import PyQt4.如果没有报错说明安装pyqt成功

3 编写代码

网上下了一个例子,出处

复制代码
 1 #!/usr/bin/python
 2 # -*- coding: utf-8 -*-
 3 
 4 """
 5 ZetCode PyQt4 tutorial 
 6 
 7 In this example, we connect a signal
 8 of a QtGui.QSlider to a slot 
 9 of a QtGui.QLCDNumber. 
10 
11 author: Jan Bodnar
12 website: zetcode.com 
13 last edited: October 2011
14 """
15 
16 import sys
17 from PyQt4 import QtGui, QtCore
18 
19 
20 class Example(QtGui.QWidget):
21     
22     def __init__(self):
23         super(Example, self).__init__()
24         
25         self.initUI()
26         
27     def initUI(self):
28         
29         lcd = QtGui.QLCDNumber(self)
30         sld = QtGui.QSlider(QtCore.Qt.Horizontal, self)
31 
32         vbox = QtGui.QVBoxLayout()
33         vbox.addWidget(lcd)
34         vbox.addWidget(sld)
35 
36         self.setLayout(vbox)
37         sld.valueChanged.connect(lcd.display)
38         
39         self.setGeometry(300, 300, 250, 150)
40         self.setWindowTitle('Signal & slot')
41         self.show()
42         
43 def main():
44     
45     app = QtGui.QApplication(sys.argv)
46     ex = Example()
47     sys.exit(app.exec_())
48 
49 
50 if __name__ == '__main__':
51     main()
复制代码

保存为main.py,这时候就可以双击此py文件。可以看到效果

4 安装py2exe-0.6.9.win32-py2.7.exe,为打包做准备

方法同第二步,安装pyqt。不过要注意版本一定要相符

5 打包

main.py重命名为main.pyw (这样可以隐藏命令行黑窗口)

main.pyw同级目录下,创建文件setup.py 内容如下

复制代码
 1 from distutils.core import setup
 2 import py2exe
 3 
 4 setup(
 5     options={"py2exe" : {
 6         "dll_excludes" : ["MSVCP90.dll"],
 7         "includes" : ["sip"]}
 8     },
 9     windows=[{"script" : "main.pyw"}]
10 )
复制代码

命令行执行: python setup.py py2exe

成功的话,dist目录就是我们需要的运行目录。

6 制作安装包

我们有了运行目录,可以使用nisi等打包工具来进行安装包的制作,本文略

posted on   jogger  阅读(547)  评论(0编辑  收藏  举报

编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示