(三)我的第一个GUI程序,生成EXE文件出现的问题
程序员文章站
2022-05-28 11:07:15
...
1. 在Pycharm中,新建项目FirstGUI
2. 调用Qt设计师(designer.exe)。
利用Qt设计一个窗口的ui文件(First_ui.ui)
3.调用PyUIC5,将First_ui.ui文件转为First_ui.py文件。
生成的First_ui.py文件如下:
4.新建FirstGUI.py。建立主程序,打开窗口。
import sys
from PyQt5.QtWidgets import *
import First_ui
if __name__ == "__main__":
app = QApplication(sys.argv)
widget = QMainWindow()
form = First_ui.Ui_MainWindow()
form.setupUi(widget)
widget.show()
sys.exit(app.exec_())
因为Qt Designer默认继承的object类,不提供show()显示方法,所以我们生成一个QMainWindowt对象来重载我们设计的Ui_MainWindow类,达到显示效果。
5.测试程序。可能会出现如下错误:(本人用两台机测试时,一台可以直接在Pycharm中运行测试成功,另一台测试出错,不知何原因。知道是Pycharm配置原因,但是不知哪个位置配置错了。哪位大侠可以指正下?)
This application failed to start because it could not find or load the Qt platform plugin "windows" in "".
Reinstalling the application may fix this problem.
这是因为缺少运行库,需要把Python目录中的
Library\plugins\platforms
Library\bin\libEGL.dll
复制到venv\Scripts目录下可以解决。
5.生成EXE文件。直接运行FirstGUI.exe,会出现上面的错误。将缺少的运行库,
Library\plugins\platforms
Library\bin\libEGL.dll
复制到当前目录下,测试成功。