隐藏英雄 发表于 2023-1-15 19:34

关于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



MarioCrane 发表于 2023-1-22 00:28

样式表 QPushButton::checked 里面把颜色设置成你想要的颜色,把所有button的checkable设置为true并加入到一个组(QButtonGroup)里面,就可以了。
加入到组里后的按钮就类似于QRadioButton的效果了,每次只会选中一个,当然前提是要把checkable设置为true

ccwuax 发表于 2023-1-15 19:41

设置样式,可以实现

sgbyg 发表于 2023-1-15 20:07

本帖最后由 sgbyg 于 2023-1-15 20:11 编辑

https://i.328888.xyz/2023/01/15/2IOhd.gif

隐藏英雄 发表于 2023-1-15 21:30

sgbyg 发表于 2023-1-15 20:07


你这个点的时候变色了 但是没保持啊,点了1变成红色, 没点2的时候它一直是红色

236A 发表于 2023-1-15 21:43

你在按钮的槽函数里设置一下 被单击的那个按钮背景色和文字颜色绿色 其他按钮设置成红色就行了

隐藏英雄 发表于 2023-1-15 21:58

236A 发表于 2023-1-15 21:43
你在按钮的槽函数里设置一下 被单击的那个按钮背景色和文字颜色绿色 其他按钮设置成红色就行了

重新编辑了帖子,你看看,开始可能没有表达清除

葫芦炒鸡蛋 发表于 2023-1-15 22:51

这个不能单纯用样式表,需要在按钮的点击事件里切换颜色。

236A 发表于 2023-1-16 02:58

本帖最后由 236A 于 2023-1-16 03:02 编辑


https://imgloc.com/i/2BgEE

236A 发表于 2023-1-16 02:59

隐藏英雄 发表于 2023-1-15 21:58
重新编辑了帖子,你看看,开始可能没有表达清除

https://imgloc.com/i/2BgEE

236A 发表于 2023-1-16 03:00

本帖最后由 236A 于 2023-1-16 03:09 编辑

236A 发表于 2023-1-16 02:59

这个网图好像显示不出来
页: [1] 2
查看完整版本: 关于QT 按钮点击变色的求助