如何从 PyQt5 代码继承实例的属性



我正在尝试使用PyQt5创建一个GUI。我有一个带有函数的外部脚本,可以更改屏幕上的值。但是我无法从外部访问Qt对象的属性。

在我的外部脚本中,我尝试过:

Main.MainWindow.label_55...
Main.ui.label_55...

以及多种其他变体

*Main 是 PyQT5.py 文件的名称

if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

错误:

AttributeError: module 'Main' has no attribute 'MainWindow'

从您的问题中,我想"外部访问"是指"通过导入"。如果您导入带有"导入保护"语句的模块,例如

if __name__ == "__main__":

此块中的代码不会运行。它仅在直接执行模块时运行,而不是通过导入。这就是为什么另一个模块看不到MainWindow.

如果这是您的主应用程序窗口,您可能应该以相反的方式进行导入。主应用程序导入其他模块并调用它们,最终将主窗口或其他对象作为参数传递。

最新更新