QButtonGroup 类提供用于组织按钮 Widget 组的容器。 更多...
头: | #include <QButtonGroup> |
CMake: |
find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
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
(), and there is a signal
idClicked
() that emits the id of the button. The id
-1
被预留由 QButtonGroup 意味着 "没有这种按钮"。映射机制的目的是简化用户界面枚举值的表示。
另请参阅 QGroupBox , QPushButton , QCheckBox ,和 QRadioButton .
此特性保持按钮组是否独占
若此特性为
true
,则在任何给定时间只能复选组中一个按钮。用户可以点击任意按钮以复选它,且该按钮将替换组中的现有被复选按钮。
在独占组中,用户无法通过点击目前被复选的按钮来取消复选;相反,必须点击组中的另一按钮来为该组设置新的被复选按钮。
默认情况下,此特性为
true
.
访问函数:
bool | exclusive () const |
void | setExclusive (bool) |
[explicit]
QButtonGroup::
QButtonGroup
(
QObject
*
parent
= nullptr)
构造新的空按钮组采用给定 parent .
另请参阅 addButton () 和 setExclusive ().
[virtual noexcept]
QButtonGroup::
~QButtonGroup
()
销毁按钮组。
添加给定 button 到按钮组。若 id 为 -1,将把 ID 赋值给按钮。保证自动赋值的 ID 为负数,从 -2 开始。若要赋值自己的 ID,使用正值以避免冲突。
另请参阅 removeButton () 和 buttons ().
返回的按钮具有指定
id
,或
nullptr
若不存在这种按钮。
[signal]
void
QButtonGroup::
buttonClicked
(
QAbstractButton
*
button
)
此信号发射当给定 button 被点击。按钮被点击当它先被按下然后释放时,当它的快捷键被键入时,或当 QAbstractButton::click () 或 QAbstractButton::animateClick () 以编程方式被调用。
另请参阅 checkedButton () 和 QAbstractButton::clicked ().
[signal]
void
QButtonGroup::
buttonPressed
(
QAbstractButton
*
button
)
此信号发射当给定 button 被按下。
另请参阅 QAbstractButton::pressed ().
[signal]
void
QButtonGroup::
buttonReleased
(
QAbstractButton
*
button
)
此信号发射当给定 button 被释放。
另请参阅 QAbstractButton::released ().
[signal]
void
QButtonGroup::
buttonToggled
(
QAbstractButton
*
button
,
bool
checked
)
此信号发射当给定 button 被触发。 checked 为 true 若按钮被复选,或 false 若按钮未被复选。
另请参阅 QAbstractButton::toggled ().
返回按钮组的按钮列表。这可能为空。
另请参阅 addButton () 和 removeButton ().
返回按钮组中的被复选按钮,或
nullptr
若没有按钮被复选。
另请参阅 buttonClicked ().
返回 ID 为 checkedButton (),或 -1 若没有按钮被复选。
另请参阅 setId ().
返回 ID 为指定 button ,或 -1 若不存在这种按钮。
另请参阅 setId ().
[signal]
void
QButtonGroup::
idClicked
(
int
id
)
此信号被发射当按钮具有给定 id 被点击。
另请参阅 checkedButton () 和 QAbstractButton::clicked ().
[signal]
void
QButtonGroup::
idPressed
(
int
id
)
此信号被发射当按钮具有给定 id 被按下。
另请参阅 QAbstractButton::pressed ().
[signal]
void
QButtonGroup::
idReleased
(
int
id
)
此信号被发射当按钮具有给定 id 被释放。
另请参阅 QAbstractButton::released ().
[signal]
void
QButtonGroup::
idToggled
(
int
id
,
bool
checked
)
此信号被发射当按钮具有给定 id 被触发。 checked 为 true 若按钮被复选,或 false 若按钮未被复选。
另请参阅 QAbstractButton::toggled ().
移除给定 button 从按钮组。
另请参阅 addButton () 和 buttons ().
设置 id 为指定 button 。注意, id 不可以是 -1。
另请参阅 id ().