我从我的Surface Pro 4中卸载了Qt并重新安装,因为它似乎无法找到QtQuick控件和其他QML相关模块。 完成安装过程后,我尝试打开Qt Creator,但出现了以下消息:
此应用程序无法启动,因为无法初始化任何Qt平台插件。重新安装该应用程序可能会解决此问题。 可用的平台插件是:direct2d、minimal、offscreen、windows
将您的Qt构建中的文件夹 plugins/platforms
复制到包含可执行文件的文件夹中。这样应该就能让它运行起来。
C:\MyApp
目录下,请创建一个名为platforms
的子目录,并将qwindows.dll
文件复制到该目录中。当然,确保您拥有所有与“Q”相关的DLL文件(如Qt5Core.dll等),以及MSVC redistributables。 - Pierre检查您是否定义了环境变量(系统范围或用户级别)QT_PLUGIN_PATH。如果是,请尝试删除它(或重命名以备将来恢复使用)。 我曾经安装过一个Qt程序,在安装过程中添加了这个环境变量,之后甚至无法启动QtCreator或其他自建的Qt5程序,尽管“platforms”子目录存在并且包含所需的dll文件。您可能需要重新启动计算机才能使更改生效。
以下是解决问题的方法之一:
这将替换qwindows.dll文件,并使其运行顺畅。
如果在qt_tools中找不到您的设计文件,请查看bin目录或直接搜索它。 我使用的是Python 3.8, 我的Python安装在- C:\Users\divya\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\
方法2: 前往(或者无论您的Python安装在哪里) C:\Python38-32\Scripts 并寻找designer。 点击它,你就可以有一个可以工作的设计师了。
我在Linux系统上遇到了完全相同的错误。
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized.
Reinstalling the application may fix this problem.
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.
Aborted (core dumped)
首先,在启动Qt Creator之前定义这个环境变量会导致更多的调试信息被打印出来:
export QT_DEBUG_PLUGINS=1
当尝试从Ubuntu 18.04的命令行启动Qt Creator时,调试时显示了以下内容:
Cannot load library /home/myuser/Qt/Tools/QtCreator/lib/Qt/plugins/platforms/libqxcb.so: (libxkbcommon-x11.so.0: cannot open shared object file: No such file or directory)
sudo apt-get install libxkbcommon-x11-dev
export PATH=$PATH:~/Qt/Tools/QtCreator/bin
我正在使用Anaconda3。
我这样解决了它:
前往C:\ProgramData\Anaconda3\Lib\site-packages\PyQt5\Qt5\plugins\platforms,并复制“平台”文件(qminimal.dll,qoffscreen.dll,qwebgl.dll,qwindows.dll)
回到C:\ProgramData\Anaconda3现在...进入...Anaconda3\Library\plugins\platforms
在此处粘贴文件!
C:\Users\СР24\AppData\Roaming\Python\Python310\site-packages\qt5_applications\Qt\plugins\platforms
加入到你的(你需要创建一个名为platforms的文件夹).py
文件中,并编写。
import PyQt5; dirname = os.path.dirname(__file__);
plugin_path = os.path.join(dirname, 'platforms'); os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = plugin_path;
from PyQt5.QtWidgets import QApplication, QFileDialog, QInputDialog;
windeployqt
工具。 - hyde