qt按钮切换互斥功能

发布时间 2023-06-09 14:42:18作者: 阳光下的小土豆

有这样一种功能:一组按钮,点击其中一个,该按钮被选中,其他按钮取消选中。

 

 我这里简单说一下方法。

创建一个继承自QFrame的窗口类,在上面放几个按钮,按钮属性设置如下:

然后设置按钮的qss,下面是其中一个的按钮(其他按钮类似):data文件夹和exe所在的文件夹在同一目录,下面有几个图片

 1 QPushButton#btnMap
 2 {
 3     font-size:28px;
 4     font-family:Microsoft YaHei;
 5     font-weight:400;
 6     color:rgba(205,242,255,1);
 7     border-image:url(../data/skin/image/ui/bg_btn_top_normal.png);
 8 }
 9 QPushButton#btnMap:hover
10 {
11     border-image:url(../data/skin/image/ui/bg_btn_top_hover.png);
12     font-family:Microsoft YaHei;
13 }
14 QPushButton#btnMap:pressed, QPushButton#btnMap:checked
15 {
16     border-image:url(../data/skin/image/ui/bg_btn_top_pressed.png);
17     font-family:Microsoft YaHei;
18 }

我们初始化其中一个按钮选中:

ui->btnMap->setChecked(true);

 按钮图片: