0
我有基於QT的GUI,其中我從文本文件中讀取LineEdit
的內容。 GUI由一個類來表示(根據用戶的選擇,有很多這樣的GUI),而我想保留在課外閱讀和顯示的功能。所以,爲此,我創建了該類的一個對象並將其傳遞給了外部函數。但是,它不會顯示從GUI中分配框中的文件中讀取的文字。此外,當我將對象等同於self
時,則僅顯示文本。以下是代碼片段。Python類對象與「self」相同
class MainClass(QtGui.QWidget, Ui_MyClass):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.setupUi(self)
def fillBoxes(self):
self.messageBox.setText("Reading File !!")
time.sleep(2)
classObj = MainClass() # object
print "entering func.."
ret = readFile(classObj,'REX011')
print self, classObj
def readFile(resClass,res):
......functioning related to file read....
.....
resClass.messageBox.setText("File Read Complete!!") # No display
控制檯輸出爲print
語句以上的產率
<myFile.MainClass object at 0xb36682b4>
<myFile.MainClass object at 0xb36ac26c>
即兩個self
和objClass
被不同地定位。這是爲什麼發生?如果它們不在同一地點,以便顯示所有消息。可以在同一個類定義中創建類的對象嗎? 而不是做的:
classObj = MainClass() # object
ret = readFile(classObj,'REX011')
我能做到這一點?安全
ret = readFile(self,'REX011')
爲什麼你不能只用'self'?除此之外,如果你真的需要'MainClass()'返回同一個對象,那麼你想實現一個單例。 –