解决QT This application failed to start because no Qt platform plugin could be initialized. 问题

问题描述

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 sys
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QIcon
class 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_()) 

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
心中带点小风骚的头像心中带点小风骚普通用户
上一篇 2023年3月5日 上午11:58
下一篇 2023年3月5日 上午11:59

相关推荐