我正在尝试使用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
.
如果这是您的主应用程序窗口,您可能应该以相反的方式进行导入。主应用程序导入其他模块并调用它们,最终将主窗口或其他对象作为参数传递。