The QButtonGroup 类提供用于组织按钮 Widget 组的容器。 更多...
头: | #include <QButtonGroup> |
qmake: | QT += widgets |
继承: | QObject |
QButtonGroup (QObject * parent = Q_NULLPTR) | |
~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 | buttonClicked (int id ) |
void | buttonPressed (QAbstractButton * button ) |
void | buttonPressed (int id ) |
void | buttonReleased (QAbstractButton * button ) |
void | buttonReleased (int id ) |
void | buttonToggled (QAbstractButton * button , bool checked ) |
void | buttonToggled (int id , bool checked ) |
The QButtonGroup 类提供用于组织按钮 Widget 组的容器。
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
,则在任何给定时间只能复选组中一个按钮。用户可以点击任意按钮以复选它,且该按钮将替换组中的现有被复选按钮。
在独占组中,用户无法通过点击目前被复选的按钮来取消复选;相反,必须点击组中的另一按钮来为该组设置新的被复选按钮。
默认情况下,此特性为
true
.
访问函数:
bool | exclusive () const |
void | setExclusive ( bool ) |
构造新的空按钮组采用给定 parent .
另请参阅 addButton () 和 setExclusive ().
销毁按钮组。
添加给定 button 到按钮组。若 id 为 -1,将把 ID 赋值给按钮。保证自动赋值的 ID 为负数,从 -2 开始。若要赋值自己的 ID,使用正值以避免冲突。
另请参阅 removeButton () 和 buttons ().
返回的按钮具有指定 id ,或 0 若不存在这种按钮。
该函数在 Qt 4.1 引入。
[signal]
void
QButtonGroup::
buttonClicked
(
QAbstractButton
*
button
)
此信号被发射当给定 button 被点击。按钮被点击当它先被按下然后释放时,当它的快捷键被键入时,或当 QAbstractButton::click () 或 QAbstractButton::animateClick () 以编程方式被调用。
注意: 信号 buttonClicked 在此类中是重载。要使用函数指针句法连接到此信号,必须在静态铸造中指定信号类型,如此范例所示:
connect(buttonGroup, static_cast<void(QButtonGroup::*)(QAbstractButton *)>(&QButtonGroup::buttonClicked), [=](QAbstractButton *button){ /* ... */ });
另请参阅 checkedButton () 和 QAbstractButton::clicked ().
[signal]
void
QButtonGroup::
buttonClicked
(
int
id
)
此信号被发射当按钮具有给定 id 被点击。
注意: 信号 buttonClicked 在此类中是重载。要使用函数指针句法连接到此信号,必须在静态铸造中指定信号类型,如此范例所示:
connect(buttonGroup, static_cast<void(QButtonGroup::*)(int)>(&QButtonGroup::buttonClicked), [=](int id){ /* ... */ });
另请参阅 checkedButton () 和 QAbstractButton::clicked ().
[signal]
void
QButtonGroup::
buttonPressed
(
QAbstractButton
*
button
)
此信号被发射当给定 button 被按下。
注意: 信号 buttonPressed 在此类中是重载。要使用函数指针句法连接到此信号,必须在静态铸造中指定信号类型,如此范例所示:
connect(buttonGroup, static_cast<void(QButtonGroup::*)(QAbstractButton *)>(&QButtonGroup::buttonPressed), [=](QAbstractButton *button){ /* ... */ });
该函数在 Qt 4.2 引入。
另请参阅 QAbstractButton::pressed ().
[signal]
void
QButtonGroup::
buttonPressed
(
int
id
)
此信号被发射当按钮具有给定 id 被按下。
注意: 信号 buttonPressed 在此类中是重载。要使用函数指针句法连接到此信号,必须在静态铸造中指定信号类型,如此范例所示:
connect(buttonGroup, static_cast<void(QButtonGroup::*)(int)>(&QButtonGroup::buttonPressed), [=](int id){ /* ... */ });
该函数在 Qt 4.2 引入。
另请参阅 QAbstractButton::pressed ().
[signal]
void
QButtonGroup::
buttonReleased
(
QAbstractButton
*
button
)
此信号被发射当给定 button 被释放。
注意: 信号 buttonReleased 在此类中是重载。要使用函数指针句法连接到此信号,必须在静态铸造中指定信号类型,如此范例所示:
connect(buttonGroup, static_cast<void(QButtonGroup::*)(QAbstractButton *)>(&QButtonGroup::buttonReleased), [=](QAbstractButton *button){ /* ... */ });
该函数在 Qt 4.2 引入。
另请参阅 QAbstractButton::released ().
[signal]
void
QButtonGroup::
buttonReleased
(
int
id
)
此信号被发射当按钮具有给定 id 被释放。
注意: 信号 buttonReleased 在此类中是重载。要使用函数指针句法连接到此信号,必须在静态铸造中指定信号类型,如此范例所示:
connect(buttonGroup, static_cast<void(QButtonGroup::*)(int)>(&QButtonGroup::buttonReleased), [=](int id){ /* ... */ });
该函数在 Qt 4.2 引入。
另请参阅 QAbstractButton::released ().
[signal]
void
QButtonGroup::
buttonToggled
(
QAbstractButton
*
button
,
bool
checked
)
此信号被发射当给定 button 被触发。 checked 为 true 若按钮被复选,或 false 若按钮未被复选。
注意: 信号 buttonToggled 在此类中是重载。要使用函数指针句法连接到此信号,必须在静态铸造中指定信号类型,如此范例所示:
connect(buttonGroup, static_cast<void(QButtonGroup::*)(QAbstractButton *, bool)>(&QButtonGroup::buttonToggled), [=](QAbstractButton *button, bool checked){ /* ... */ });
该函数在 Qt 5.2 引入。
另请参阅 QAbstractButton::toggled ().
[signal]
void
QButtonGroup::
buttonToggled
(
int
id
,
bool
checked
)
此信号被发射当按钮具有给定 id 被触发。 checked 为 true 若按钮被复选,或 false 若按钮未被复选。
注意: 信号 buttonToggled 在此类中是重载。要使用函数指针句法连接到此信号,必须在静态铸造中指定信号类型,如此范例所示:
connect(buttonGroup, static_cast<void(QButtonGroup::*)(int, bool)>(&QButtonGroup::buttonToggled), [=](int id, bool checked){ /* ... */ });
该函数在 Qt 5.2 引入。
另请参阅 QAbstractButton::toggled ().
返回按钮组的按钮列表。这可能为空。
另请参阅 addButton () 和 removeButton ().
返回按钮组的被复选按钮,或 0 若没有按钮被复选。
另请参阅 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 ().