QButtonGroup 类

QButtonGroup 类提供用于组织按钮 Widget 组的容器。 更多...

头: #include <QButtonGroup>
qmake: QT += widgets
继承: QObject

特性

公共函数

QButtonGroup (QObject * parent = nullptr)
virtual ~QButtonGroup ()
void addButton (QAbstractButton * button , int id = -1)
QAbstractButton * button (int id ) const
QList<QAbstractButton *> buttons () const
QAbstractButton * checkedButton () const
int checkedId () const
bool exclusive () const
int id (QAbstractButton * button ) const
void removeButton (QAbstractButton * button )
void setExclusive ( bool )
void setId (QAbstractButton * button , int id )

信号

void buttonClicked (QAbstractButton * button )
void buttonPressed (QAbstractButton * button )
void buttonReleased (QAbstractButton * button )
void buttonToggled (QAbstractButton * button , bool checked )
void idClicked (int id )
void idPressed (int id )
void idReleased (int id )
void idToggled (int id , bool checked )

详细描述

QButtonGroup 提供可以在其中放置按钮 Widget 的抽象容器。它不提供此容器的视觉表示 (见 QGroupBox 了解容器 Widget),但代替管理组中每个按钮的状态。

An exclusive 按钮组切换关闭所有可复选 (触发) 按钮,除已点击按钮外。默认情况下,按钮组是独占的。按钮组中的按钮通常是可复选 QPushButton s, QCheckBox (通常用于非独占按钮组),或 QRadioButton 。若创建独占按钮组,应确保组中某一按钮被最初复选;否则,组最初将处于未复选按钮的状态下。

按钮可以被添加到组采用 addButton () 和被移除采用 removeButton ()。若组是独占的,则目前复选的按钮可用于 checkedButton ()。若按钮被点击, buttonClicked () 信号被发射;对于独占组中的可复选按钮而言,这意味着按钮已被复选。组中按钮列表的返回通过 buttons ().

此外,QButtonGroup 可以在整数和按钮之间映射。可以将整数 ID 赋值给按钮采用 setId (),和检索它采用 id ()。目前复选按钮的 ID 可用于 checkedId (),且有重载信号 buttonClicked () 发射按钮的 id。ID -1 由 QButtonGroup 预留,意思是没有这样的按钮。映射机制的目的是简化用户界面枚举值的表示。

另请参阅 QGroupBox , QPushButton , QCheckBox ,和 QRadioButton .

特性文档编制

exclusive : bool

此特性保持按钮组是否独占

若此特性为 true , then only one button in the group can be checked at any given time. The user can click on any button to check it, and that button will replace the existing one as the checked button in the group.

In an exclusive group, the user cannot uncheck the currently checked button by clicking on it; instead, another button in the group must be clicked to set the new checked button for that group.

默认情况下此特性为 true .

访问函数:

bool exclusive () const
void setExclusive ( bool )

成员函数文档编制

QButtonGroup:: QButtonGroup ( QObject * parent = nullptr)

构造新的,空按钮组采用给定 parent .

另请参阅 addButton () 和 setExclusive ().

[signal] void QButtonGroup:: buttonClicked ( QAbstractButton * button )

此信号被发射当给定 button 被点击。按钮被点击当它先被按下然后释放时,当它的快捷键被键入时,或当 QAbstractButton::click () 或 QAbstractButton::animateClick () 以编程方式被调用。

注意: 信号 buttonClicked 在此类中被重载。通过使用函数指针句法连接到此信号,Qt 提供用于获得如此范例展示的函数指针的方便帮助程序:

connect(buttonGroup, QOverload<QAbstractButton *>::of(&QButtonGroup::buttonClicked),
    [=](QAbstractButton *button){ /* ... */ });
					

另请参阅 checkedButton () 和 QAbstractButton::clicked ().

[signal] void QButtonGroup:: buttonPressed ( QAbstractButton * button )

此信号被发射当给定 button 被按下。

注意: 信号 buttonPressed 在此类中被重载。通过使用函数指针句法连接到此信号,Qt 提供用于获得如此范例展示的函数指针的方便帮助程序:

connect(buttonGroup, QOverload<QAbstractButton *>::of(&QButtonGroup::buttonPressed),
    [=](QAbstractButton *button){ /* ... */ });
					

该函数在 Qt 4.2 引入。

另请参阅 QAbstractButton::pressed ().

[signal] void QButtonGroup:: buttonReleased ( QAbstractButton * button )

此信号被发射当给定 button 被释放。

注意: 信号 buttonReleased 在此类中被重载。通过使用函数指针句法连接到此信号,Qt 提供用于获得如此范例展示的函数指针的方便帮助程序:

connect(buttonGroup, QOverload<QAbstractButton *>::of(&QButtonGroup::buttonReleased),
    [=](QAbstractButton *button){ /* ... */ });
					

该函数在 Qt 4.2 引入。

另请参阅 QAbstractButton::released ().

[signal] void QButtonGroup:: buttonToggled ( QAbstractButton * button , bool checked )

此信号被发射当给定 button 被触发。 checked 为 true 若按钮被复选,或 false 若按钮未被复选。

注意: 信号 buttonToggled 在此类中被重载。通过使用函数指针句法连接到此信号,Qt 提供用于获得如此范例展示的函数指针的方便帮助程序:

connect(buttonGroup, QOverload<QAbstractButton *, bool>::of(&QButtonGroup::buttonToggled),
    [=](QAbstractButton *button, bool checked){ /* ... */ });
					

该函数在 Qt 5.2 引入。

另请参阅 QAbstractButton::toggled ().

[signal] void QButtonGroup:: idClicked ( int id )

此信号被发射当按钮具有给定 id 被点击。

该函数在 Qt 5.15 引入。

另请参阅 checkedButton () 和 QAbstractButton::clicked ().

[signal] void QButtonGroup:: idPressed ( int id )

此信号被发射当按钮具有给定 id 被按下。

该函数在 Qt 5.15 引入。

另请参阅 QAbstractButton::pressed ().

[signal] void QButtonGroup:: idReleased ( int id )

此信号被发射当按钮具有给定 id 被释放。

该函数在 Qt 5.15 引入。

另请参阅 QAbstractButton::released ().

[signal] void QButtonGroup:: idToggled ( int id , bool checked )

此信号被发射当按钮具有给定 id 被触发。 checked 为 true 若按钮被复选,或 false 若按钮未被复选。

该函数在 Qt 5.15 引入。

另请参阅 QAbstractButton::toggled ().

[virtual] QButtonGroup:: ~QButtonGroup ()

销毁按钮组。

void QButtonGroup:: addButton ( QAbstractButton * button , int id = -1)

添加给定 button 到按钮组。若 id 为 -1,id 将被赋值给按钮。自动赋值的 id 保证为负数,从 -2 开始。若要赋值自己的 id,请使用正值以避免冲突。

另请参阅 removeButton () 和 buttons ().

QAbstractButton *QButtonGroup:: button ( int id ) const

返回的按钮具有指定 id ,或 nullptr 若不存在这样的按钮。

该函数在 Qt 4.1 引入。

QList < QAbstractButton *> QButtonGroup:: buttons () const

返回按钮组的按钮列表。这可能为空。

另请参阅 addButton () 和 removeButton ().

QAbstractButton *QButtonGroup:: checkedButton () const

返回按钮组中的被复选按钮,或 nullptr 若没有按钮被复选。

另请参阅 buttonClicked ().

int QButtonGroup:: checkedId () const

返回 ID 为 checkedButton (),或 -1 若没有按钮被复选。

该函数在 Qt 4.1 引入。

另请参阅 setId ().

int QButtonGroup:: id ( QAbstractButton * button ) const

返回 ID 为指定 button ,或 -1 若不存在这样的按钮。

该函数在 Qt 4.1 引入。

另请参阅 setId ().

void QButtonGroup:: removeButton ( QAbstractButton * button )

移除给定 button 从按钮组。

另请参阅 addButton () 和 buttons ().

void QButtonGroup:: setId ( QAbstractButton * button , int id )

设置 id 为指定 button 。注意, id 不可以是 -1。

该函数在 Qt 4.1 引入。

另请参阅 id ().