QButtonGroup 的常用接口可以归纳如下:
1. 添加和移除按钮
void addButton(QAbstractButton *button, int id = -1)
: 此方法用于将一个按钮添加到按钮组中,并可以为其指定一个整数ID。如果未指定ID,或者ID为-1,则会自动为按钮分配一个ID。void removeButton(QAbstractButton *button)
: 此方法用于从按钮组中移除指定的按钮。
2. 查询和管理组中的按钮
QList<QAbstractButton *> buttons() const
: 此方法返回按钮组中的所有按钮的列表。QAbstractButton *checkedButton() const
: 在互斥(exclusive)模式下,此方法返回当前被选中的按钮。如果没有按钮被选中,则返回nullptr
。int checkedId() const
: 返回当前被选中按钮的ID,或者在互斥模式下如果没有按钮被选中则返回-1。
3. 设置和获取组属性
void setExclusive(bool exclusive)
: 设置按钮组是否为互斥模式。在互斥模式下,用户一次只能选择一个按钮。bool exclusive() const
: 返回按钮组是否为互斥模式。setId(QAbstractButton *button, int id)
: 为组中的特定按钮设置ID。id(QAbstractButton *button) const
: 返回组中特定按钮的ID。
4. 信号
void buttonClicked(QAbstractButton *button)
: 当组中的按钮被点击时,发出此信号。信号中包含了被点击的按钮的指针。void buttonClicked(int id)
: 当组中的按钮被点击时,也可以发出带有被点击按钮ID的信号(如果按钮有ID的话)。void buttonPressed(QAbstractButton *button)
和void buttonReleased(QAbstractButton *button)
: 这两个信号分别在按钮被按下和释放时发出。
以上是QButtonGroup的一些常用接口。通过这些接口,可以方便地管理组中的按钮,响应按钮的点击事件,并控制按钮组的行为。