PyQt检查QLabel的值是否更改

4

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

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

如何正确检查值是否更改?

祝一切顺利;

1个回答

5

QLabels没有valueChanged/textChanged信号。你要么使用另一种窗口小部件类型(例如QLineEdit),要么继承QLabel并创建自己的具有textChanged信号的类。

如果您使用QtDesigner,则使用第一种方法可能会更简单,并从设计器自定义您的QLineEdit。在属性编辑器中,取消选中frame,选中readOnly,并在styleSheet中编写background-color:“transparent”,然后您就拥有一个类似于QLabelQLineEdit

您还应该使用新样式语法,它更加优雅。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接