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