2014-04-29 44 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)