调用 class 在 python 中启动 UI class

Calling class that initiates UI class in python

我在创建小型 Python 项目时遇到问题。我已经习惯了Java,这对我来说还是很陌生。 问题是我从 QtCreator 创建了一个 UI class。然后将其转换为 .py 并导入到我的项目中。我有一个 class,目前被认为是 main 启动,运行 是 UI class。问题是我需要一个 class,它实际上是 main class,当应用程序启动时,这个 class 调用第二个 class 来启动UI。 现在总结一下,当应用程序启动时,我有 A > calls > B(UI)。 我需要它是 A > calls > B > init > C(UI)。 那可能吗?我的想法是 B 必须只是设置 UI 和 运行 的经理 class。 到目前为止,这是我的工作代码: 1.Manager class-

class mainpanelManager(QtWidgets.QMainWindow, Ui_MainWindow):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    window = mainpanelManager()
    window.show()
    sys.exit(app.exec_())

和UIclass是典型的UI生成class。我将 post 只有构造函数:

class Ui_MainWindow(QtGui.QWindow):
    def setupUi(self, MainWindow):

在这种情况下 mainpaneManager 运行s Ui_MainWindow 在元素启动之后。 我想要一个调用 mainpanelManager 的第三个 class。 我要用这个 __name__ 函数做什么?移动它? 提前致谢!

我不确定我是否理解您的要求,但它似乎就这么简单:

class Main(object):
    def __init__(self):
        self.window = MainPanelManager()
        self.window.show()             

class MainPanelManager(QtWidgets.QMainWindow, Ui_MainWindow):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.settingsButton.clicked.connect(self.editSettings)
        self.loadSettings()

    def editSettings(self):
        dialog = SettingsDialog(self)
        if dialog.exec_() == QtWidgets.QDialog.Accepted:
            self.loadSettings()

    def loadSettings(self):
        # do stuff to load settings...

if __name__ == "__main__":

    app = QtWidgets.QApplication(sys.argv)
    main = Main()
    sys.exit(app.exec_())