錯誤 qt.qpa.plugin: Could not find the Qt platform plugin “windows“ in ““ 的解決方法
系統環境:
- Windows 10
- Python 3.7.8
- Pipenv 【Python虛擬環境,可選,如需瞭解可參考:https://blog.csdn.net/weixin_40922744/article/details/103723069】
- PyQt5 5.15.2 【安裝方式:
pipenv install PyQt5
】- PySide2 5.15.2 【安裝方式:
pipenv install PySide2
】
PyQt5 和PySide2 二選一安裝即可
PySide2 和 PyQt5 的區別
相同點:兩者都是QT與Python結合的橋樑;
不同點:PyQt的開發者是英國的“Riverbank Computing”公司,而PySide則是由Qt的開發公司諾基亞釋出的,兩者的主要區別主要是提供的授權方式不同:PyQt遵守GPLv3協議,而PySide則是LGPL協議,前者可以免費地用於自由軟體的開發,而後者屬於閉源商用。更詳細資料可參考:PySide2與PyQt5區別
錯誤描述
在使用PySide2 或者 PyQt5 的過程中可能會出現以下錯誤:
根據給出的提示可以看出錯誤原因是系統找不到Qt平臺的外掛,解決方法則是將PySide2或者PyQt5的plugins目錄加入到QT_QPA_PLATFORM_PLUGIN_PATH環境變數裡面。
解決方案
上面部分已經說了解決思路,具體的實施方式有以下兩種:
-
新增啟動程式碼【簡單重複】:
import PySide2 dirname = os.path.dirname(PySide2.__file__) plugin_path = os.path.join(dirname, 'plugins', 'platforms') os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = plugin_path
如果是PyQt5則需要修改啟動程式碼為:
import qt5_applications dirname = os.path.dirname(qt5_applications.__file__) plugin_path = os.path.join(dirname, 'Qt', 'plugins', 'platforms') os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = plugin_path
在引入各類包的後面插入上述程式碼:
-
修改配置檔案【一勞永逸】
如果不想每次在程式碼前新增上述程式碼,可以修改PySide2的初始化檔案"c:\users\XXX.virtualenvs\pyqt5-3bre18dc\lib\site-packages\PySide2_init_.py" ,在下圖位置新增上述程式碼即可:
對於PyQt5則需要手動新增PyQt的環境變數:
如需快速查詢使用pip命令安裝的包的位置可以使用pip show model_name
:
參考文獻
相關文章
- 排查qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.QTPluginPlatform
- This application failed to start because it could not find or load the Qt platform plugin “windows“APPAIQTPlatformPluginWindows
- Application failed to start because it could not find or load the QT platform plugin “windows”APPAIQTPlatformPluginWindows
- 解決Qt編譯動態連結庫could not find or load the Qt platform plugin "windows" in.問題QT編譯PlatformPluginWindows
- VS中呼叫QT出現This application failed to start because it could not find or load the Qt platform pluginQTAPPAIPlatformPlugin
- 錯誤 - Could not find the index entry for RIDIndex
- 關於 artisan migrants Could not find drive 解決方法
- Could not find *.apk!解決辦法APK
- Go:錯誤 could not launch process: EOF 解決Go
- Qt報Multiple definition錯誤的解決QT
- FATAL ERROR: Could not find ./bin/my_print_defaults 解決方法Error
- 遠端連線MySQL錯誤“plugin caching_sha2_password could not be loaded”的解決辦法MySqlPlugin
- sqldeveloper for windows 錯誤解決SQLDeveloperWindows
- cordova 解決can’t not find moudle " plugman platform ios"PlatformiOS
- Could not find jar tool executable問題解決JAR
- jar檔案could not find the main class解決JARAI
- WARNING:Could not lower the asynch I/O limit 錯誤解決MIT
- undefined reference to錯誤的解決方法Undefined
- PHP錯誤“Thisfilehasexpired”的解決方法PHP
- [Windows] 解決 COM Surrogate 錯誤提示Windows
- PbootCMS 404 錯誤解決方法boot
- 解決Centos7 yum 出現could not retrieve mirrorlist 錯誤CentOS
- Maven 的Could not calculate build plan錯誤解決方法(不一定適用,看原因)MavenUI
- 錯誤Namenodeisinsafemode的解決方法
- vsftpd 錯誤:530 and 500 錯誤解決方法FTP
- Windows 更新錯誤 8024401C -解決方法之一Windows
- RMAN備份時出現RMAN-06056: could not access datafile 6 錯誤,解決方法!!
- windows10系統升級助手出現錯誤的解決方法Windows
- AFNetworkingErrorDomain 錯誤解決方法ErrorAI
- dbfread報錯ValueError錯誤解決方法Error
- iOS-拉outlet到程式碼區錯誤:Could not insert new outlet connection: Could not find any...iOS
- standby新增檔案錯誤的解決方法
- MYSQL中 TYPE=MyISAM 錯誤的解決方法MySql
- Mac上搭建chromedriver的錯誤解決方法MacChrome
- nginx出現403錯誤的解決方法Nginx
- Flask擴充套件包安裝出現錯誤:Could not find a version that satisfies the requirement ...Flask套件UIREM
- MySQL could not be resolved: Temporary failure in name resolution報錯解決方法MySqlAI
- 解決MyQL資料庫中1045錯誤的方法——Windows系統(轉)資料庫Windows