关于QT 按钮点击变色的求助
本帖最后由 隐藏英雄 于 2023-1-16 14:25 编辑求具体操作方法,能给出示范代码最好了。大佬们辛苦了!{:301_990:}
我有这么几个 按钮, 是从UI界面添加的, 然后通过改变样式表选项 达到了如图的效果但是
我想让它点了按钮1的时候变成红色,在没点按钮2,3,4的时候它保持红色
当点了2.3.4任意一个以后 被点的变成红色 按钮1退回到原始颜色,】
也就是点哪个按钮 哪个按钮变红色保持, 换一个按钮点的时候 新点的按钮变红色, 原来被点的哪个回到它原本的颜色,
相当于 通过按钮颜色 能判断哪个 按钮是被点中状态
样式表代码如下,添加pushbt 后 使用样式表加入代码
是
QPushButton{
font: 10pt "微软雅黑";
color: #2f3640;
background-color: #f5f6fa;
border-color: #2f3640;
border-radius: 5px;
border-style: solid;
border-width: 2px;
padding: 5px;
}
/**鼠标停留在按钮上的样式**/
QPushButton::hover{
color: #FFFFFF;
background-color: #718093;
border-color: #2f3640;
}
/**鼠标按压下去的样式**/
QPushButton::pressed,QPushButton::checked{
color: #FFFFFF;
background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #273c75, stop:1 #487eb0);
}
/**按钮失能情况下样式**/
QPushButton::disabled{
color: #FFFFFF;
background-color: #dcdde1;
border-color: #dcdde1;
}
https://i.328888.xyz/2023/01/16/2Ejcb.md.gif
样式表 QPushButton::checked 里面把颜色设置成你想要的颜色,把所有button的checkable设置为true并加入到一个组(QButtonGroup)里面,就可以了。
加入到组里后的按钮就类似于QRadioButton的效果了,每次只会选中一个,当然前提是要把checkable设置为true 设置样式,可以实现 本帖最后由 sgbyg 于 2023-1-15 20:11 编辑
https://i.328888.xyz/2023/01/15/2IOhd.gif sgbyg 发表于 2023-1-15 20:07
你这个点的时候变色了 但是没保持啊,点了1变成红色, 没点2的时候它一直是红色 你在按钮的槽函数里设置一下 被单击的那个按钮背景色和文字颜色绿色 其他按钮设置成红色就行了 236A 发表于 2023-1-15 21:43
你在按钮的槽函数里设置一下 被单击的那个按钮背景色和文字颜色绿色 其他按钮设置成红色就行了
重新编辑了帖子,你看看,开始可能没有表达清除 这个不能单纯用样式表,需要在按钮的点击事件里切换颜色。 本帖最后由 236A 于 2023-1-16 03:02 编辑
https://imgloc.com/i/2BgEE 隐藏英雄 发表于 2023-1-15 21:58
重新编辑了帖子,你看看,开始可能没有表达清除
https://imgloc.com/i/2BgEE 本帖最后由 236A 于 2023-1-16 03:09 编辑
236A 发表于 2023-1-16 02:59
这个网图好像显示不出来
页:
[1]
2