关于Ui_MainWindow.setupUi()少参数的问题,怎么解决

Ui_MainWindow.setupUi() missing 1 required positional argument: 'MainWindow'

img

该回答引用GPTᴼᴾᴱᴺᴬᴵ,具体如下:


   这个错误通常出现在使用Qt Designer创建UI文件并将其转换为Python文件后,试图在主程序中创建窗口对象时

   通常,解决此问题的方法是在创建主窗口时提供正确的参数请确保您在创建窗口对象时,传入了正确的参数,以便将窗口对象与UI文件关联起来
以下是一个示例代码片段,展示了如何正确地创建窗口对象:


import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from ui_mainwindow import Ui_MainWindow

class MyMainWindow(QMainWindow):
    def __init__(self, parent=None):
        super(MyMainWindow, self).__init__(parent)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = MyMainWindow()
    window.show()
    sys.exit(app.exec_())

   在这个示例中,我们首先从“ui_mainwindow”模块中导入生成的UI类“Ui_MainWindow”。然后我们创建了一个名为“MyMainWindow”的新类,该类继承自QMainWindow。在该类的构造函数中,我们首先调用了QMainWindow的构造函数,然后创建了一个名为“ui”的新成员变量,该变量是我们刚刚导入的UI类的实例。最后,我们调用了UI实例的“setupUi”函数,将UI文件与主窗口对象相关联。

   在主程序中,我们创建了一个名为“window”的新窗口对象,将其显示出来,并通过“sys.exit()”函数让程序进入Qt事件循环。

   请确保您的代码与上面的示例类似,并且在创建主窗口对象时传入了正确的参数。




如果以上回答对您有所帮助,望采纳~谢谢