【发布时间】:2021-04-08 17:52:45
【问题描述】:
我有定义样式表的 QLineEdit:
QLineEdit {
font: 10pt "MS Shell Dlg 2";
border-radius: 10px;
border: 2px solid rgb(55,55,55);
color: rgb(255, 255, 255);
padding-left: 20px;
padding-right: 20px;
background-color: rgb(70,70,70);
}
QLineEdit:hover {
border: 2px solid rgb(85,85,85);
}
QLineEdit:focus{
border: 2px solid rgb(85, 170, 255);
}
QLineEdit:invalid{
border: 2px solid rgb(255, 115, 107);
}
当我悬停或关注 QLineEdit 时,它会根据样式表中定义的颜色更改边框。
我怎样才能发出信号或者我应该向 QLineEdit 应用什么状态来激活 invalid 伪元素并更改在 QLineEdit:invalid 块中定义的边框?
我知道我可以这样设置样式表,但我想避免这种解决方案并使用invalidpseudo-element
QLineEdit{
border: 2px solid rgb(255, 115, 107);
border-radius: 10px;
color: rgb(255, 255, 255);
padding-left: 20px;
padding-right: 20px;
background-color: rgb(70,70,70);
}
【问题讨论】:
-
:invalid不是 Qt 的 recognized pseudo state,所以你不能“触发”它。请记住,Qt 样式表只是 CSS 标准的有限实现(并且仅尊重 CSS2.1),它们不提供 整个 css 实现。
标签: python pyside2 qtstylesheets qlineedit