我需要检查 qlabel 的值 (str) 是否更改。我考虑使用以下代码(几乎与 PyQt 中的 spinbox 小部件使用的相同):
self.connect(self.ui.labelEntry, QtCore.SIGNAL("valueChanged(str)"), self.autovalidate)
Run Code Online (Sandbox Code Playgroud)
检查值是否更改的正确方法是什么?
一切顺利;
QLabels没有 valueChanged/textChanged 信号。您要么必须使用其他小部件类型(例如 QLineEdit),要么对 QLabel 进行子类化并使用信号创建您自己的更改感知类textChanged。
如果您使用 QtDesigner,那么使用第一个解决方案并从设计器自定义 QLineEdit 可能会更简单。在属性编辑器中,取消选中frame、选中readOnly并写入background-color:"transparent",styleSheet您就得到了一个看起来像 QLineEdit 的 QLabel。
您还应该使用新式语法,它更加优雅。
self.ui.labelEntry.textChanged.connect(self.autovalidate)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3088 次 |
| 最近记录: |