我使用 qtdesigner 创建了 gui 表单,并使用 pyuic4 转换为 python 代码。我的主要脚本示例如下:
#!/usr/bin/env python
from PyQt4 import QtGui
from multibootusb_ui import Ui_Dialog
import sys
import os
import another_file_function
class AppGui(QtGui.QDialog,Ui_Dialog):
def __init__(self):
QtGui.QDialog.__init__(self)
self.ui = Ui_Dialog()
self.ui.setupUi(self)
self.ui.close.clicked.connect(self.close)
another_file_function.function2()
def function1():
self.ui.text_label.setText("some text")
function1()
app = QtGui.QApplication(sys.argv)
window = AppGui()
ui = Ui_Dialog()
window.show()
sys.exit(app.exec_())
为了方便起见,我在不同的文件中创建了不同的函数。这样任何脚本都可以随时访问它。
这是 another_file_function 的函数示例:
#!/usr/bin/env python
def function2():
#code here
self.ui.text_label.setText("some text")
主脚本中的 function1 和 another_file_function 中的 function2 相同。我也从主类调用function2。问题是,当我function1()
从主脚本中使用它时,它会毫无问题地更新 GUI 文本。但是,如果我在不同的文件中使用相同的函数并从主脚本调用该函数,它无法更新并且我得到global name 'self' is not defined
错误。
我哪里错了?任何帮助都会得到帮助。
谢谢你。