QButtonGroup 类

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 .

特性文档编制

exclusive : bool

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

若此特性为 true ,则在任何给定时间只能复选组中一个按钮。用户可以点击任意按钮以复选它,且该按钮将替换组中的现有被复选按钮。

在独占组中,用户无法通过点击目前被复选的按钮来取消复选;相反,必须点击组中的另一按钮来为该组设置新的被复选按钮。

默认情况下,此特性为 true .

访问函数:

bool exclusive () const
void setExclusive (bool)

成员函数文档编制

[explicit] QButtonGroup:: QButtonGroup ( QObject * parent = nullptr)

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

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

[virtual noexcept] 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 若不存在这种按钮。

[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 ().

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

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

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

QAbstractButton *QButtonGroup:: checkedButton () const

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

另请参阅 buttonClicked ().

int QButtonGroup:: checkedId () const

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

另请参阅 setId ().

int QButtonGroup:: id ( QAbstractButton * button ) const

返回 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 ().

void QButtonGroup:: removeButton ( QAbstractButton * button )

移除给定 button 从按钮组。

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

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

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

另请参阅 id ().