我正在尝试创建一个只有一个图标和一个常量背景色的QPushButton
。
这样我就可以在用户单击图标时换掉它,而不会产生任何其他明显的效果(这是用于上卷/下卷功能)。我在我的样式表中添加了这样的条目:
QPushButton.ToggleButton {
background-color: #8af;
}
并将按钮的类设置为匹配,这确实给了我想要的外观,除了当我单击它时背景颜色变为浅蓝色,这是我不想要的。我错过了什么?
编辑:我想我应该提到我正在使用 Qt 4.5 和 PyQt 4.6 来做这件事......
最佳答案
我知道人们喜欢使用样式表,但在这种情况下,我认为制作自定义按钮同样容易。定义一个继承自QAbstractButton
的类,并覆盖paint()方法。在 paint 方法中,用你想要的背景颜色填充矩形,然后在顶部绘制当前图标。如果您还想要按钮周围的边框,可能会稍微复杂一些,但不会太多。
或者,您还可以查看 QPalette
的 Angular 色,特别是 QPalette::Light
和 QPalette::Midlight
,它们可能是用于调整按钮按下时的颜色。
关于css - 使用 CSS 设计 QPushButton 样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1712199/