问题描述
This application failed to start because no Qt platform plugin could beinitialized. Reinstalling the application may fix this problem.
问题解决
遇到了这个问题,卡了蛮久的,也在网上找了很多方法,终于解决了!下面是我自己解决这个问题的过程,希望能够有参考价值,也是对自己解决这一过程的一点记录:
方法1. 重新安装pyqt5 和 pyqt5-tools
在cmd里面,首先卸载掉原来的模块:
pip uninstall pyqt5
pip uninstall qyqt5-tools
然后安装:
pip install pyqt5
pip install pyqt5-tools
要注意 pyqt5-tools 和 pyqt5 需要有版本对应,如果不对应的话,相关信息在pip install的结果会给出,只要跟着上面的安装对应版本就行,例如:
pip install pyqt5==版本号
方法2. 配置环境变量
进入环境变量,查看用户变量里是否有这个:
没有的话,需要新建:
QT_QPA_PLATFORM_PLUGIN_PATH
python安装目录下的PyQt5的包(根据自己的安装目录选择)
如果还是不行,可以在这个环境变量后面再添加一个:
%QTDIR%\plugins\platforms\
!!!注意:需要去确保【plugins\platforms】下面是有文件的
我的是PyQt5下面的Qt没有这个文件,但PyQt5下面的Qt5文件夹有
因此我修改了环境变量为Qt5\plugins,但是没有用
所以我把PyQt5下面的Qt5里面的plugins文件夹复制到了Qt下面,不修改环境变量
最后成功了~
由于我之前的程序文件运行比较麻烦,所以我在测试的时候选择了一个比较小的程序来测试,下面是代码:
import sysfrom PyQt5.QtWidgets import QApplication, QWidgetfrom PyQt5.QtGui import QIconclass Example(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):self.setGeometry(300, 300, 300, 220)self.setWindowTitle('Icon')self.setWindowIcon(QIcon('web.png')) self.show()if __name__ == '__main__':app = QApplication(sys.argv)ex = Example()sys.exit(app.exec_())