调用在python中启动UI类的类

2024-09-26 17:58:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我在创建我的小Python项目时遇到了一个问题。我已经习惯了Java,这对我来说还是个新鲜事物。 问题是我从QtCreator创建了一个UI类。然后将其转换为.py并导入到我的项目中。我有一个目前被认为是main的类,它启动并运行UI类。问题是我需要一个真正的main类,当app启动时,这个类调用第二个初始化UI的类。 现在总结一下,当应用程序启动时,我有A > calls > B(UI)。 我需要它是A > calls > B > init > C(UI)。 有可能吗?我的想法是B必须是一个管理器类,用来设置UI并运行它。 以下是我目前为止的工作代码: 1.经理班-

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_())

而UI类是典型的UI生成类。我将只发布构造函数:

^{pr2}$

在本例中,mainpaneManager在元素初始化之后Ui_MainWindow运行。 我想要一个调用mainpanelManager的第三个类。 我该如何处理这个__name__函数?移动它? 提前谢谢!在


Tags: 项目nameselfappuiinitmainsys
1条回答
网友
1楼 · 发布于 2024-09-26 17:58:36

我不太确定我是否理解你的要求,但似乎很简单:

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_())

相关问题 更多 >

    热门问题