有没有办法改变QPushButton的背景颜色,通过修改QPalette对象来压缩它?我意识到它可以用样式表完成,但想通过修改QPalette来实现它。类似于未按下时如何更改按钮背景颜色的内容:
QPushButton myButton;
QPalette p(myButton.palette());
p.setColor(QPalette::Button, QColor("#ffffff"));
myButton.setPalette(p);
答案 0 :(得分:2)
连接到QPushButton的pressed()信号并使用所需颜色更新调色板,然后连接到released()信号并将颜色切换回旧颜色。应该这样做。
答案 1 :(得分:2)
只需将样式表添加到qbushbutton本身或其父qwidget:
qwidget.setStyleSheet("QPushButton:checked { background-color: red; }")
当选中QPushButton时,这会将背景颜色设置为红色。
答案 2 :(得分:1)
连接到按钮的pressed信号,并在连接的插槽中设置调色板。您可能需要致电repaint()
强制立即更新。
答案 3 :(得分:0)
你可以在按下时为按钮设置样式表。here is the Example告诉如何为按钮设置样式表..但在你的情况下,你需要有两个不同的样式表,一个是按下按钮,类似的它被释放你应该重置一些其他样式表。