如何防止验证样式影响工具提示
Posted
技术标签:
【中文标题】如何防止验证样式影响工具提示【英文标题】: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
样式分开?在此屏幕截图中,行编辑和工具提示背景颜色匹配。
【问题讨论】:
【参考方案1】:您必须指明样式表影响哪个(或多个)类,如果没有,则相当于使用 QWidget 作为一个类,因此它将应用于其所有子项和工具提示。
解决办法是:
self.edit.setStyleSheet(
"QLineEditborder: 3px solid %s QToolTipbackground-color: lightblue"
% colour
)
QtCore.QTimer.singleShot(
1000,
lambda: self.edit.setStyleSheet("QToolTipbackground-color: lightblue"),
)
【讨论】:
以上是关于如何防止验证样式影响工具提示的主要内容,如果未能解决你的问题,请参考以下文章
是否可以配置 OWIN Cookie 身份验证以防止某些 URL 影响滑动过期?