这种按钮主要用来给用户在若干个选项中执行单选操作
目录
1 创建和基本设置
1.1 创建RadioButton

![]()

1.2 添加文本setText()
也可以先创建之后再setText()

此时我们的按钮是可以点一下选中,再点一下能取消选中
我们现在搞两个按钮

发现他们是互斥的,无论怎么点只能选中一个,而且当我们选中一个按钮,再点击一下不能被取消

1.3 添加图标setIcon()
使用setIcon可以设置图标


1.4 更改图标大小setIconSize()
可以使用setIconSize()变更图标大小


1.5 设置默认状态 setChecked()
可以使用setChecked()设置按钮默认模式

运行之后发现男的按钮被默认选中了

1.6 设置快捷键
1.6.1 文本前加 &

运行后可以通过alt+a或alt+b切换按钮的选中状态

1.7 setShortCut()

此时我就可以按b c两个键来切换选定状态了

1.8 取消互斥性 setAutoExclusive()

此时我们可以同时选中两个按钮

2 信号
pressed,clicked,released,toggled这四个信号都可以用
在RadioButton中最常用的信号是toggled
toggled为每次这个按钮被切换时触发一次槽函数

运行后默认状态

此时我们点击一次C按钮

![]()
3 多组互斥问题
我们现在有四个按钮


他们四个现在是相互排斥的,我现在想让男女一组,是否一组
3.1 方法一 把这两组放在不同的父控件中
为了好区分我们把父控件的颜色设置为红色和绿色

- 这个地方要注意一点,控件的move函数的坐标是相对于父控件的坐标
可以成功选中

现在我们可以把背景改成无色

同样保持两组互斥
3.2 方法二 设置按钮组
这个按钮组涉及到的方法很多,我们放在下一章QButtonGroup来讲
本文详细讲解如何创建RadioButton,设置文本、图标、默认状态,实现快捷键和取消互斥性。涉及多组互斥解决方案及常用信号处理。

3610

被折叠的 条评论
为什么被折叠?



