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 .