QT designer
一、新建 Main window
二、保存ui转py文件
1.用pyqt5
pyuic5 -o a3.py a3.ui
2.用pyside2
pyside2-uic a3.ui > a3.py
新建main.py作为启动窗口程序
a3为刚才生成的a3.py文件
main.py要与刚才生成的a3.py文件放在同一目录,实在不行放在同一项目里
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
import a3
if __name__ == '__main__':
app = QApplication(sys.argv)
MainWindow = QMainWindow()
ui = a3.Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
```
此处实现界面与业务代码分离,比如
ui.pushButton.clicked.connect(click_success)
其中click_success为一个事件函数,其定义应该放在此行上面;
pushButton 为按钮对象名称;
```
sys.exit(app.exec_())
三、打包发布可执行文件exe
pyinstaller使用简单说明:
-w 去除调试黑框
-i xxx.ico 添加ico图标,在当前文件夹下就不用加目录
-F 多py文件打包成一个EXE文件,第一个py是主文件
pyinstaller -w -F main.py a3.py
anaconda回退python版本:在anaconda prompt中输入(其实可以一开始安装3.6版本,为了导入cst模块)
conda install python=3.6
anaconda安装后打不开spyder,重新安装spyder,在anaconda prompt中输入
pip install -U spyder
一些小问题需要注意
- sypder手动导入库:tools->PYTHON manager 中添加包含的目录(举例:cst库导入为D:\cst2020\AMD64\python_cst_libraries)
- 调试没问题,遇到打包不成功:“找不到模块/库”,解决方法:在打包时候,并没有提示错误,可以顺利打包成exe文件。但是在运行打包好的软件时,会提示找不到模块,本人遇到的是找不到第三方模块,例如 requests 。这时候需要在打包时指定 -p 参数,后面跟上python目录下的第三方库模板目录路径 site-packages。再打包就成功了
pyinstaller example.py -F -p C:/python/lib/site-packages
网友评论