QButtonGroup 類

The 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 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 )

靜態公共成員

const QMetaObject staticMetaObject

額外繼承成員

詳細描述

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 .

特性文檔編製

exclusive : bool

此特性保持按鈕組是否獨占

若此特性為 true ,則在任何給定時間隻能復選組中一個按鈕。用戶可以點擊任意按鈕以復選它,且該按鈕將替換組中的現有被復選按鈕。

在獨占組中,用戶無法通過點擊目前被復選的按鈕來取消復選;相反,必須點擊組中的另一按鈕來為該組設置新的被復選按鈕。

默認情況下,此特性為 true .

訪問函數:

bool exclusive () const
void setExclusive ( bool )

成員函數文檔編製

QButtonGroup:: QButtonGroup ( QObject * parent = nullptr)

構造新的空按鈕組采用給定 parent .

另請參閱 addButton () 和 setExclusive ().

[虛擬] 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 ,或 0 若不存在這種按鈕。

該函數在 Qt 4.1 引入。

[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:: buttonClicked ( int id )

此信號被發射當按鈕具有給定 id 被點擊。

注意: 信號 buttonClicked 在此類中被重載。通過使用函數指針句法連接到此信號,Qt 提供用於獲得如此範例展示的函數指針的方便幫助程序:

connect(buttonGroup, QOverload<int>::of(&QButtonGroup::buttonClicked),
    [=](int id){ /* ... */ });
					

另請參閱 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:: buttonPressed ( int id )

此信號被發射當按鈕具有給定 id 被按下。

注意: 信號 buttonPressed 在此類中被重載。通過使用函數指針句法連接到此信號,Qt 提供用於獲得如此範例展示的函數指針的方便幫助程序:

connect(buttonGroup, QOverload<int>::of(&QButtonGroup::buttonPressed),
    [=](int id){ /* ... */ });
					

該函數在 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:: buttonReleased ( int id )

此信號被發射當按鈕具有給定 id 被釋放。

注意: 信號 buttonReleased 在此類中被重載。通過使用函數指針句法連接到此信號,Qt 提供用於獲得如此範例展示的函數指針的方便幫助程序:

connect(buttonGroup, QOverload<int>::of(&QButtonGroup::buttonReleased),
    [=](int id){ /* ... */ });
					

該函數在 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:: buttonToggled ( int id , bool checked )

此信號被發射當按鈕具有給定 id 被觸發。 checked 為 true 若按鈕被復選,或 false 若按鈕未被復選。

注意: 信號 buttonToggled 在此類中被重載。通過使用函數指針句法連接到此信號,Qt 提供用於獲得如此範例展示的函數指針的方便幫助程序:

connect(buttonGroup, QOverload<int, bool>::of(&QButtonGroup::buttonToggled),
    [=](int id, bool checked){ /* ... */ });
					

該函數在 Qt 5.2 引入。

另請參閱 QAbstractButton::toggled ().

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

返迴按鈕組的按鈕列錶。這可能為空。

另請參閱 addButton () 和 removeButton ().

QAbstractButton *QButtonGroup:: checkedButton () const

返迴按鈕組的被復選按鈕,或 0 若沒有按鈕被復選。

另請參閱 buttonClicked ().

int QButtonGroup:: checkedId () const

返迴 ID 為 checkedButton (),或 -1 若沒有按鈕被復選。

該函數在 Qt 4.1 引入。

另請參閱 setId ().

int QButtonGroup:: id ( QAbstractButton * button ) const

返迴 ID 為指定 button ,或 -1 若不存在這種按鈕。

該函數在 Qt 4.1 引入。

另請參閱 setId ().

void QButtonGroup:: removeButton ( QAbstractButton * button )

移除給定 button 從按鈕組。

另請參閱 addButton () 和 buttons ().

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

設置 id 為指定 button 。注意, id 不可以是 -1。

該函數在 Qt 4.1 引入。

另請參閱 id ().