使用pycharm写qt弹出:This application failed to start because no Qt platform plugin could be initialized.
如图:
背景:使用anaconda自带python,!!安装anaconda时没勾配置环境变量,也没手动配置过环境变量!!。安装好了pyside2。
在运行以下代码时弹出:
from PySide2.QtWidgets import QApplication, QMainWindow, QPushButton, QPlainTextEdit
app = QApplication([])
window = QMainWindow()
window.resize(500, 400)
window.move(300, 310)
window.setWindowTitle('薪资统计')
textEdit = QPlainTextEdit(window)
textEdit.setPlaceholderText("请输入薪资表")
textEdit.move(10,25)
textEdit.resize(300,350)
button = QPushButton('统计', window)
button.move(380,80)
window.show()
app.exec_()
所以问题是:引入pyside2时出问题,上浏览器摸索了一圈,踩过巨多坑后,这篇给了我灵感:https://blog.youkuaiyun.com/tt1724369779/article/details/101434147
import os
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
# 以上是添加的部分
from PySide2.QtWidgets import QApplication, QMainWindow, QPushButton, QPlainTextEdit
添加那部分后竟然运行正常!!!看完添加的那段代码发现那就是添了个环境变量嘛!!(如果您的还是不行,后面就别看了,看了更心塞)
import os
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
from PySide2.QtWidgets import QApplication, QMainWindow, QPushButton, QPlainTextEdit
# 输出环境变量要的路径
print(plugin_path)
我的结果是这个:
复制这个路径去添加这个环境变量,一路确认!
使用最开始的那段代码,运行成功啦!!撒花!!