【发布时间】:2021-02-07 22:24:12
【问题描述】:
我需要从另一个类中调用 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”,但标签没有出现在窗口中。这种方法有什么问题?
【问题讨论】:
标签: python class pyqt5 qmainwindow