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等打包工具来进行安装包的制作,本文略
己有能 勿自私 人所能 勿轻訾
jogger0703@gmail.com
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库