Qt 之 QButtonGroup Class

详细描述

QButtonGroup类提供一个容器来组织按钮小部件组。

QButtonGroup 提供一个抽象的容器,可以将按钮小部件放在其中。它没有提供这个容器的可视化表示,而是管理组中每个按钮的状态。

一个排外的按钮组关掉了所有可勾选的(切换)按钮,除了被单击的按钮。默认情况下,按钮组是排外的。按钮组中的按钮通常是可勾选的QPushButton,QCheckBox(通常是非排他的按钮组)或者QRadioButton。如果你创建一个排他的按钮组,则应该确保按钮组中的一个按钮最初被勾选;否则,改按钮组最初将处于没有勾选按钮的状态。

可以使用addButton()将按钮添加到组中,并使用removeButton()删除。如果按钮组是排外的(exclusive),则当前使用的按钮可以使用checkedButton()获取。如果单击按钮,则发出buttonClicked()信号;对于一个排外的按钮组中的按钮,这意味着该按钮已经被勾选了。按钮组中的按钮由buttons()返回。

此外,QButtonGroup可以在整数和按钮之间映射。你可以为带有setId()的按钮指定一个整数,并使用id()检索它。可以使用checkedId()获得当前勾选按钮的id,同时有一个重载信号buttonClicked(int id)发出按钮的id。id -1是QBUttonGroup保留的,意思是没有这样的按钮。映射机制的目的是简化用户界面中枚举值的表示。

属性成员

exclusive:bool
这个属性保存按钮组是否是排外的。

如果该属性为true,那么在任何给定时间内只有一个按钮可以被勾选。用户可以单击按钮去勾选它,按钮组中被点击的按钮将取代已经存在的那个勾选按钮成为被勾选的按钮。

在排外的按钮组中,用户不能通过点击已经勾选的按钮来清除勾选状态;相反地,必须通过点击按钮组中的另一个按钮类给按钮组设置一个新的勾选按钮。

该属性默认是true(也就是说按钮组默认是排外的)。

可访问的函数:
bool exclusive() const
void setExclusive(bool)

成员函数(API)

QButtonGroup::QButtonGroup(QObject *parent = Q_NULLPTR)
构造一个指定父类为parent的新的,空的按钮组。

void QButtonGroup::addButton(QAbstractButton *button, int id = -1)
向按钮组中添加指定按钮button。如果id是-1,则会将一个id(自动)赋给按钮。自动分配的id保证为负数,从-2开始。如果你正在分配你自己的id,使用正数以避免冲突。

QAbstractButton *QButtonGroup::button(int id) const
返回指定id的按钮,如果不存在这样的按钮则返回0。


具体使用例子可以参照: Qt 复选框 一文


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值