【发布时间】:2014-02-05 11:40:21
【问题描述】:
我正在创建一个 GUI,以使用 PyQt 在 Python 中运行疲劳分析程序。当用户在主窗口中单击“开始”开始分析时,另一个文件中的函数会被调用,然后该函数会一直运行(可能持续数小时)直到完成。
我想找到一种方法来从单独的疲劳分析文件中更新主窗口中的状态栏。我不在乎我是如何做到这一点的,但我真的不想只是将疲劳分析文件中的所有内容复制并粘贴到 GUI 文件中(在这种情况下,我会知道如何更新状态栏)。
到目前为止,我已经尝试使用以下全局代码启动 GUI(MainWindow 是一个包含设置 GUI 的所有内容的类,updateStatus 是该类中用于更新 GUI 状态栏的方法):
app = QtGui.QApplication(sys.argv)
TopWindow = MainWindow(LastData)
TopWindow.show()
sys.exit(app.exec_())
在疲劳分析文件中,我有以下代码,在循环中调用:
TopWindow.updateStatus(PercentComplete)
这会引发以下错误:
NameError: global name 'TopWindow' is not defined
我不明白为什么这行不通,但绝对不行!任何解决方法的想法?
谢谢,
皮特
【问题讨论】:
-
如何调用其他“文件”中的函数?
-
TopWindow.updateStatus(PercentComplete)
标签: python user-interface pyqt