我正在尝试使用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'
答案 0 :(得分:0)
我想从您的问题中“从外部访问”是指“通过导入”。如果您使用
这样的“导入保护”语句导入模块if __name__ == "__main__":
此块中的代码无法运行。它仅在您直接执行模块而不是通过导入执行时运行。这就是为什么其他模块看不到MainWindow
的原因。
如果这是您的主应用程序窗口,则可能应该反过来进行导入。主应用程序导入其他模块并调用它们,最终将主窗口或其他对象作为参数传递。