我正在学习如何使用Qtdesigner和Pycharm创建GUI。所以我用两个底部和一个标签构建了一个非常简单的GUI。在pycharm中编译.ui文件并编写以下代码来执行它之后:
from PySide2 import QtWidgets
from Algo_UI import untitled
class QtApp ( untitled.Ui_MainWindow, QtWidgets.QMainWindow):
def __init__(self):
super(QtApp, self).__init__()
self.setupUi(self)
if __name__ == '__main__':
app = QtWidgets.QApplication()
qt_app = QtApp()
qt_app.show()
app.exec_()我得到了这个错误:
Traceback (most recent call last):
File "/home/al/0-Projects/Python/Algo/AlgoApp/Main.py", line 11, in <module>
qt_app = QtApp()
File "/home/al/0-Projects/Python/Algo/AlgoApp/Main.py", line 7, in __init__
self.setupUi(self)
File "/home/al/0-Projects/Python/Algo/AlgoApp/Algo_UI/untitled.py", line 17, in setupUi
self.centralwidget = QtWidgets.QWidget(MainWindow)
TypeError: QWidget(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] =
Qt.WindowFlags()): argument 1 has unexpected type 'QtApp'这是Untitled.py文件的第一部分,其中错误消息上的第-17行是指。
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(800, 600)
self.centralwidget = QtWidgets.QWidget(MainWindow)我该如何解决这个问题呢?
发布于 2021-02-19 03:51:29
之所以会出现这个错误,是因为您不应该将PyQt5与PySide2组合在一起,因为它们会导致难以调试的错误。尽管这两个类都使用Qt,但它们创建了不同的包装器,因此PySide2对象不能使用PyQt5对象,反之亦然。解决方案就是使用库,在本例中将from PySide2 import QtWidgets更改为from PyQt5 import QtWidgets。还要将app = QtWidgets.QApplication()更改为app = QtWidgets.QApplication([])。
https://stackoverflow.com/questions/66267000
复制相似问题