QPushButton checkable 为true时,如何设置样式

GeBaiNiZhiLi 2017-08-23 03:27:11
背景:
做个小软件,左边时四个按钮,右边是一个QStackedWidget,按钮切换时,右边的界面也切换。
我用QButtonGroup把四个按钮弄成一组,都设置checkable为true,按钮不想用QT默认的颜色,使用如下的样式对每个按钮进行设置。
然而却没有了QT默认的效果:在按钮处于checked状态下,鼠标移动到按钮上,依然会改变按钮的背景色和字体颜色,这是我不希望的。

样式表:


QPushButton{
background-color:rgb(240,255,255);
color: rgb(0, 0, 2);

border-style: outset;
border-radius: 3px;
border-width: 4px;
border-color: beige;;
padding: 6px;
}

QPushButton:checked {
background-color:rgb(14, 170, 79);
color: rgb(255, 255, 0);
}

QPushButton:hover QPushButton:unchecked
{
background-color:rgb(14, 220, 0);
color: rgb(0, 0, 0);
}



问题出在哪里了?
...全文
3698 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2017-08-23
  • 打赏
  • 举报
回复
帮结帖+蹭分
GeBaiNiZhiLi 2017-08-23
  • 打赏
  • 举报
回复 1
搞定了,原来是顺序的问题。 对按钮定义样式的时候,按照加载顺序使用最后一次定义。下面的写法就可以了。

QPushButton{
    background-color:rgb(240,255,255);
    color: rgb(0, 0, 2);
 
    border-style: outset;
    border-radius: 3px;
    border-width: 4px;
    border-color: beige;;
    padding: 6px;
}
 QPushButton:hover 
{
    background-color:rgb(14, 220, 0);
    color: rgb(0, 0, 0);
}

QPushButton:checked {
    background-color:rgb(14, 170, 79);
    color: rgb(255, 255, 0);
}
 

24,855

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧