【问题标题】:How to prevent validation style from affecting tooltip如何防止验证样式影响工具提示
【发布时间】:2021-08-05 22:36:28
【问题描述】:

我使用here 提供的答案向用户提供有关QLineEdit 输入质量的信号。问题是我的QToolTip 加入了这种不理想的风格。

这是验证器

def handleValidationChange(self, state):
    if state == QtGui.QValidator.Invalid:
        colour = 'white'
    elif state == QtGui.QValidator.Intermediate:
        colour = 'yellow'
    elif state == QtGui.QValidator.Acceptable:
        colour = 'lightgreen'
   
    self.nameLineEdit.setStyleSheet('background-color: %s' % colour)
    QtCore.QTimer.singleShot(5000, lambda: self.nameLineEdit.setStyleSheet(''))

app.setStyleSheet 中,我尝试使工具提示具有不同的样式,但如果我在输入时将鼠标悬停在行编辑上,它最终会匹配验证样式。

 app.setStyleSheet('''\
    QToolTip {background-color: lightblue !important;}
    '''
    )

有谁知道如何将带有验证的行编辑样式与QToolTip 样式分开?在此屏幕截图中,行编辑和工具提示背景颜色匹配。

【问题讨论】:

    标签: python python-3.x pyqt5


    【解决方案1】:

    您必须指明样式表影响哪个(或多个)类,如果没有,则相当于使用 QWidget 作为一个类,因此它将应用于其所有子项和工具提示。

    解决办法是:

    self.edit.setStyleSheet(
        "QLineEdit{border: 3px solid %s} QToolTip{background-color: lightblue}"
        % colour
    )
    QtCore.QTimer.singleShot(
        1000,
        lambda: self.edit.setStyleSheet("QToolTip{background-color: lightblue}"),
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-09
      • 1970-01-01
      • 1970-01-01
      • 2020-04-22
      • 2011-04-27
      • 1970-01-01
      相关资源
      最近更新 更多