2014-04-26 54 views
2

我需要檢查PyQt4中lineEdit的值是否發生了更改,如果此值發生更改我需要觸發一個槽。 我的代碼:如果我更改在GUI中值pyqt檢查lineEdit的值是否已更改

self.connect(self.ui.lineEdit, QtCore.SIGNAL("textChanged (QString & text"), self.sync_lineEdit) 

沒有happend。 任何想法如何解決這個問題?

親切的問候;

+1

您正在使用的信號/槽連接的舊樣式。請參閱pyqt文檔(以及qurban的答案)瞭解如何使用新(pythonic)連接信號和插槽連接方式進行連接:http://pyqt.sourceforge.net/Docs/PyQt4/new_style_signals_slots.html –

回答

3

嘗試簡單連接:

self.ui.lineEdit.textChanged.connect(self.sync_lineEdit) 
... 

def sync_lineEdit(self, text): 
    print text 

這應該做工精細

+0

工作正常,謝謝! – user3551782

+1

請注意,每次更改文字時都會發出'textChanged'信號。這包括使用'setText'以編程方式進行的更改。要僅對用戶所做的更改作出反應,您可以改爲使用「textEdited」信號。 – m00am