2010-10-07 59 views
1

請有人能告訴我什麼即時通訊在調用pwTxt.text這裏做錯了。基本小工具與PyQt的互動

#!/usr/bin/python 
import sys 
from PyQt4 import QtCore, QtGui 

from mainwindow import Ui_MainWindow 


class MyForm(QtGui.QMainWindow): 
    def __init__(self, parent=None): 
     QtGui.QWidget.__init__(self, parent) 
     self.ui = Ui_MainWindow() 
     self.ui.setupUi(self) 

    def on_pwExtract_pressed(self): 
     print self.pwTxt.text 

if __name__ == "__main__": 
    app = QtGui.QApplication(sys.argv) 
    myapp = MyForm() 
    myapp.show() 
    sys.exit(app.exec_()) 

行,因爲它無法找到小部件print self.pwTxt.text失敗,pwTxt是主窗口上定義的QLineEdit的。我只是在QTDesigner中創建了它,並用pyuic4生成了python代碼。

如何正確引用同一窗口上的其他窗口小部件,在這種情況下,我只想從按下QPushButton pwExtract時從名爲pwTxt的QLineEdit獲取文本。

非常感謝。

回答

1

嘗試:

print self.ui.pwTxt.text() 
+0

感謝我不得不做出它的.text()爲它工作,否則它輸出「<在0x7f8ac9675050 QLineEdit的對象的內置方法文本>」。不知道爲什麼.text應該作爲一個屬性?所有的好,雖然感謝:) – Jason 2010-10-08 00:13:47

+0

@Jason - 編輯採取您的意見。如果它是Qt中的'property','text'應該是python對象的一個​​屬性。 – sje397 2010-10-08 00:15:25