錯誤 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
:
參考文獻
相關文章
- This application failed to start because it could not find or load the Qt platform plugin “windows“APPAIQTPlatformPluginWindows
- 排查qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.QTPluginPlatform
- 解決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
- 關於 artisan migrants Could not find drive 解決方法
- Go:錯誤 could not launch process: EOF 解決Go
- 遠端連線MySQL錯誤“plugin caching_sha2_password could not be loaded”的解決辦法MySqlPlugin
- Qt報Multiple definition錯誤的解決QT
- undefined reference to錯誤的解決方法Undefined
- 解決CocoaPods could not find compatible versions for pod "React/Core"React
- iOS-拉outlet到程式碼區錯誤:Could not insert new outlet connection: Could not find any...iOS
- 解決Centos7 yum 出現could not retrieve mirrorlist 錯誤CentOS
- PbootCMS 404 錯誤解決方法boot
- dbfread報錯ValueError錯誤解決方法Error
- Intellij IDEA使用@Autowired註解,出現could not autowire錯誤,解決方案IntelliJIdea
- windows10系統升級助手出現錯誤的解決方法Windows
- 解決MyQL資料庫中1045錯誤的方法——Windows系統(轉)資料庫Windows
- dedecms提示500錯誤解決方法
- Flask擴充套件包安裝出現錯誤:Could not find a version that satisfies the requirement ...Flask套件UIREM
- HTTP 錯誤 500.19- Internal Server Error 錯誤解決方法HTTPServerError
- Mac上搭建chromedriver的錯誤解決方法MacChrome
- standby新增檔案錯誤的解決方法
- nginx出現403錯誤的解決方法Nginx
- MYSQL中 TYPE=MyISAM 錯誤的解決方法MySql
- Dynamics CRM 安裝SSRS Extension時報Could not find the name or insufficient right to see name的解決方法
- java.lang.IllegalArgumentException: Could not find class異常解決方式JavaException
- Linux下ODBC連線HGDB報Could not SQLConnect錯解決方法LinuxSQL
- Android Studio 解決編譯報錯 Could not download aapt2-windows.jarAndroid編譯APTWindowsJAR
- Linux yum提示Loaded plugins錯誤的解決方法LinuxPlugin
- Nginx報504 gateway timeout錯誤的解決方法NginxGateway
- cmake報錯CMake Error: Could not find CMAKE_ROOTError
- SQLyog連線資料庫報錯:錯誤號碼2058 plugin caching_sha2_password could not be loadedSQL資料庫Plugin
- steam磁碟寫入錯誤怎麼解決 steam磁碟寫入錯誤解決方法大全
- mongodb find報錯怎麼解決MongoDB
- Android: The following classes could not be instantiated: 解決方法Android
- Many To Many could not initialize proxy – no Session的解決方法Session
- 印表機提示列印錯誤怎麼解決 印表機狀態錯誤的方法
- 織夢提示dedecms error warning錯誤的解決方法Error