我曾经安装过 pyqt5 库,它运行良好,现在我首先通过 PyCharm 中的终端安装了这个库,然后通过 PowerShell 再次重复安装(据我所知,我首先在虚拟环境中安装了该库,然后也安装了解释器本身)。使用 Qt Designer,我创建了一个 .ui 文件并在 PowerShell 中输入命令
python -m PyQt5.uic.pyuic -x 任务1.ui -o 任务_1.py
我完美地创建了所有内容,并且 .py 文件出现了,但是当我尝试运行时,它给出了一个错误(见下图)尝试运行文件时出现错误
错误文本:此应用程序无法启动,因为无法初始化 Qt 平台插件。重新安装该应用程序可能会解决此问题。
PyCharm 终端中的 pip 列表
powershell 中的 pip 列表
还有一件事:我原则上安装了一个非常奇怪的 Python 解释器
这是文件代码
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(1053, 642)
font = QtGui.QFont()
font.setPointSize(20)
MainWindow.setFont(font)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
self.lineEdit.setGeometry(QtCore.QRect(530, 80, 441, 101))
self.lineEdit.setObjectName("lineEdit")
self.spinBox = QtWidgets.QSpinBox(self.centralwidget)
self.spinBox.setGeometry(QtCore.QRect(350, 70, 161, 111))
self.spinBox.setObjectName("spinBox")
self.dateEdit = QtWidgets.QDateEdit(self.centralwidget)
self.dateEdit.setGeometry(QtCore.QRect(100, 70, 231, 121))
self.dateEdit.setObjectName("dateEdit")
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(370, 250, 341, 171))
self.pushButton.setObjectName("pushButton")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 1053, 43))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.pushButton.clicked.connect(self.task_1)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.pushButton.setText(_translate("MainWindow", "ТЫК!"))
def task_1(self):
date = self.dateEdit.date()
days = self.spinBox.value()
new_date = date.addDays(days)
self.lineEdit.setText(new_date.toString())
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())