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 .
此特性保持按钮组是否独占
若此特性为
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 ) |
构造新的,空按钮组采用给定 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
()
销毁按钮组。
添加给定 button 到按钮组。若 id 为 -1,id 将被赋值给按钮。自动赋值的 id 保证为负数,从 -2 开始。若要赋值自己的 id,请使用正值以避免冲突。
另请参阅 removeButton () 和 buttons ().
返回的按钮具有指定
id
,或
nullptr
若不存在这样的按钮。
该函数在 Qt 4.1 引入。
返回按钮组的按钮列表。这可能为空。
另请参阅 addButton () 和 removeButton ().
返回按钮组中的被复选按钮,或
nullptr
若没有按钮被复选。
另请参阅 buttonClicked ().
返回 ID 为 checkedButton (),或 -1 若没有按钮被复选。
该函数在 Qt 4.1 引入。
另请参阅 setId ().
返回 ID 为指定 button ,或 -1 若不存在这样的按钮。
该函数在 Qt 4.1 引入。
另请参阅 setId ().
移除给定 button 从按钮组。
另请参阅 addButton () 和 buttons ().
设置 id 为指定 button 。注意, id 不可以是 -1。
该函数在 Qt 4.1 引入。
另请参阅 id ().