2014-04-29 42 views
1

我需要檢查qlabel的值(str)是否改變。 我想用下面的代碼(幾乎在PyQt的使用由紡紗器插件的相同):PyQt檢查qlabel的值是否改變

self.connect(self.ui.labelEntry, QtCore.SIGNAL("valueChanged(str)"), self.autovalidate) 

什麼是正確的了Methode來檢查是否值改變了嗎?

一切順利;

回答

2

QLabels沒有valueChanged/textChanged信號。您必須使用其他窗口小部件類型(例如QLineEdit)或QLabel的子類,並使用textChanged信號創建您自己的更改感知類。

如果您使用QtDesigner,使用第一個解決方案並從Designer自定義您的QLineEdit可能會更簡單。在屬性編輯器中,取消frame,檢查readOnly,並在styleSheet中編寫background-color:"transparent",並且您已經看到QLabel正在尋找QLineEdit。

你也應該使用new-style syntax,它更優雅。

self.ui.labelEntry.textChanged.connect(self.autovalidate)