QCheckBox 類

QCheckBox 小部件提供帶文本標簽的復選框。 更多...

頭: #include <QCheckBox>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
繼承: QAbstractButton

特性

公共函數

QCheckBox (QWidget * parent = nullptr)
QCheckBox (const QString & text , QWidget * parent = nullptr)
virtual ~QCheckBox ()
Qt::CheckState checkState () const
bool isTristate () const
void setCheckState (Qt::CheckState state )
void setTristate (bool y = true)

重實現公共函數

virtual QSize minimumSizeHint () const override
virtual QSize sizeHint () const override

信號

(從 6.7 起) void checkStateChanged (Qt::CheckState state )
(until 6.9) void stateChanged (int state )

保護函數

virtual void initStyleOption (QStyleOptionButton * option ) const

重實現保護函數

virtual void checkStateSet () override
virtual bool event (QEvent * e ) override
virtual bool hitButton (const QPoint & pos ) const override
virtual void mouseMoveEvent (QMouseEvent * e ) override
virtual void nextCheckState () override
virtual void paintEvent (QPaintEvent *) override

詳細描述

QCheckBox 是可以被切換為開 (復選) 或切換為關 (取消復選) 的選項按鈕。復選框通常用於錶示可以被啓用 (或禁用) 的應用程序特徵 (不影響其它特徵)。可以實現不同行為類型。例如, QButtonGroup 可以用於邏輯分組復選按鈕,允許獨占復選框。不管怎樣, QButtonGroup 不提供任何視覺錶示。

以下圖像進一步闡明,獨占復選框和非獨占復選框之間的差異。

每當復選 (或清零) 時,復選框發射信號 checkStateChanged ()。連接到此信號,若想要在復選框每次改變狀態時觸發動作。可以使用 isChecked () 查詢復選框是否被復選。

除通常的復選和取消復選狀態外,QCheckBox 還可選提供第 3 種 "無變化" 狀態指示。這很有用每當需要賦予用戶既不復選,也不取消復選的復選框選項時。若需要這種第 3 狀態,啓用它采用 setTristate (),和使用 checkState () 查詢當前觸發狀態。

就像 QPushButton ,復選框顯示文本,及可選小圖標。圖標的設置是采用 setIcon ()。文本的設置可以在構造函數中或采用 setText ()。通過在首選字符之前加 & 號可以指定快捷鍵。例如:

QCheckBox *checkbox = new QCheckBox("C&ase sensitive", this);
					

在此範例中,快捷方式是 Alt+A 。見 QShortcut 文檔編製瞭解細節。要顯示實際和號,使用 &&。

另請參閱 QAbstractButton and QRadioButton .

特性文檔編製

tristate : bool

此特性保持復選框是否為 3 態復選框

默認為 false,即:復選框隻有 2 種狀態。

訪問函數:

bool isTristate () const
void setTristate (bool y = true)

成員函數文檔編製

[explicit] QCheckBox:: QCheckBox ( QWidget * parent = nullptr)

構造復選框采用給定 parent ,但沒有文本。

parent 被傳遞給 QAbstractButton 構造函數。

[explicit] QCheckBox:: QCheckBox (const QString & text , QWidget * parent = nullptr)

構造復選框采用給定 parent and text .

parent 被傳遞給 QAbstractButton 構造函數。

[virtual noexcept] QCheckBox:: ~QCheckBox ()

析構函數。

Qt::CheckState QCheckBox:: checkState () const

返迴復選框的復選狀態。若不需要三態支持,還可以使用 QAbstractButton::isChecked (),其返迴布爾。

另請參閱 setCheckState () 和 Qt::CheckState .

[signal, since 6.7] void QCheckBox:: checkStateChanged ( Qt::CheckState state )

此信號被發射每當復選框狀態改變時 (即:當用戶復選或取消復選時)。

state 包含復選框的新 Qt::CheckState .

該函數在 Qt 6.7 引入。

[override virtual protected] void QCheckBox:: checkStateSet ()

重實現: QAbstractButton::checkStateSet ().

[override virtual protected] bool QCheckBox:: event ( QEvent * e )

重實現: QAbstractButton::event (QEvent *e).

[override virtual protected] bool QCheckBox:: hitButton (const QPoint & pos ) const

重實現: QAbstractButton::hitButton (const QPoint &pos) const.

[virtual protected] void QCheckBox:: initStyleOption ( QStyleOptionButton * option ) const

初始化 option 采用值來自此 QCheckBox 。此方法很有用對於子類要求 QStyleOptionButton ,但不想自己填充所有信息。

另請參閱 QStyleOption::initFrom ().

[override virtual] QSize QCheckBox:: minimumSizeHint () const

重實現訪問函數為特性: QWidget::minimumSizeHint .

[override virtual protected] void QCheckBox:: mouseMoveEvent ( QMouseEvent * e )

重實現: QAbstractButton::mouseMoveEvent (QMouseEvent *e).

[override virtual protected] void QCheckBox:: nextCheckState ()

重實現: QAbstractButton::nextCheckState ().

[override virtual protected] void QCheckBox:: paintEvent ( QPaintEvent *)

重實現: QAbstractButton::paintEvent (QPaintEvent *e).

void QCheckBox:: setCheckState ( Qt::CheckState state )

將復選框的復選狀態設為 state 。若不需要三態支持,還可以使用 QAbstractButton::setChecked (),其接受布爾。

另請參閱 checkState () 和 Qt::CheckState .

[override virtual] QSize QCheckBox:: sizeHint () const

重實現訪問函數為特性: QWidget::sizeHint .

[signal, until 6.9] void QCheckBox:: stateChanged ( int state )

此函數計劃在 6.9 版棄用。

使用 checkStateChanged ( Qt::CheckState ) 代替。

此信號被發射每當復選框狀態改變時 (即:當用戶復選或取消復選時)。

state 包含復選框的新 Qt::CheckState .