PyQt检查qlabel的值是否发生了变化

时间:2014-04-29 16:29:18

标签: pyqt label pyqt4

我需要检查qlabel的值(str)是否发生了变化。 我考虑使用以下代码(几乎与PyQt中的spinbox小部件使用的代码相同):

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

检查值是否更改的正确方法是什么?

一切顺利;

1 个答案:

答案 0 :(得分:2)

QLabels没有valueChanged / textChanged信号。您必须使用另一个窗口小部件类型(例如QLineEdit)或子类化QLabel并使用textChanged信号创建您自己的更改感知类。

如果您使用QtDesigner,则可以更简单地使用第一个解决方案并从Designer自定义QLineEdit。在属性编辑器中,取消frame,检查readOnly,然后在background-color:"transparent"中写下styleSheet,您就会看到QLabel正在查找QLineEdit。

你也应该使用new-style syntax,它更优雅。

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