【问题标题】:PyQt check if value of qlabel changedPyQt 检查 qlabel 的值是否改变
【发布时间】:2014-06-15 17:18:59
【问题描述】:

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

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

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

一切顺利;

【问题讨论】:

    标签: pyqt label pyqt4


    【解决方案1】:

    QLabels 没有 valueChanged/textChanged 信号。您要么必须使用另一种小部件类型(例如 QLineEdit),要么将 QLabel 子类化并使用textChanged 信号创建您自己的变化感知类。

    如果您使用 QtDesigner,使用第一个解决方案并从 Designer 自定义您的 QLineEdit 可能会更简单。在属性编辑器中,取消选中frame,选中readOnly,并在styleSheet 中写入background-color:"transparent",您就有了一个看起来像QLineEdit 的QLabel。

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

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

    【讨论】:

      猜你喜欢
      • 2016-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多