如何解决全局和本地 PyQt5 样式表
全局表:
QPushButton {
border-radius: 20px;
font: 57 18pt "Ubuntu Medium";
color: rgb(255,255,255);
background-color: rgb(255,0);
}
QPushButton:hover {
background-color: rgb(166,0);
}
QPushButton:pressed {
background-color: rgb(9,153,131);
}
pushButton_4 {
background-color: rgb(85,170,0);
}
本地工作表:
background-color: rgb(0,229,115);
我想在同一个窗口中创建具有不同颜色的按钮,但具有相同的:悬停效果。但是当我在本地css表中改变颜色时,这个按钮的全局窗口表被取消,反之亦然。
解决方法
通用样式表通常适用于简单的情况,但每当父/传播发挥作用时,应避免使用它们,而应使用显式 selectors。
在您的情况下,问题在于使用 generic 样式表时,它会覆盖 任何 其他先前设置的属性,因为该语法优先(阅读 {{3 }}).
但是,使用类选择器是不够的,因为它会以类似的方式完全覆盖任何其他属性,因此解决方案是指定要使用的相反({ {1}}) 通过否定它:
:hover
请注意,以下内容也适用,但在任何情况下都最好使用选择器(主要是为了保持良好的实践和一致性,这样您在尝试在父小部件上执行此操作时不会面临意外结果的风险):
QPushButton:!hover {
background-color: rgb(0,229,115);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。