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 .
此特性保持復選框是否為 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
()
析構函數。
返迴復選框的復選狀態。若不需要三態支持,還可以使用 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).
將復選框的復選狀態設為 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 .