如何从另一个类调用 QMainWindow 组件?

问题描述

我需要从另一个类调用 QMainWindow 的对象,但我找不到让它工作的方法。这是问题的最小示例:

import sys
from PyQt5.QtWidgets import QApplication,QMainWindow,QLabel

class Starter:
    def __init__(self):
        super(Starter,self).__init__()
        print("starter")
        MainWindow().show_label()

class MainWindow(QMainWindow):
    def __init__(self,parent=None):
        super(MainWindow,self).__init__(parent)
        self.setWindowTitle("Start")
        self.show()

    def show_label(self):
        print("show")
        label = QLabel("Hallo")
        self.setCentralWidget(label)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    w = MainWindow()
    Starter()
    sys.exit(app.exec_())

窗口正确打开,调用 Starter class,打印“starter”,也调用 show_label,打印“show”,但标签没有出现在窗口中。这种方法有什么问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)