QCheckBox Class

QCheckBox widget 提供一个带有文本标签的复选框。更多

Header: #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

信号

(since 6.7) void checkStateChanged(Qt::CheckState 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 还可选择提供第三种状态来表示 "无变化"。这在需要让用户选择既不选中也不取消选中复选框时非常有用。如果需要第三种状态,请使用setTristate() 启用它,并使用checkState() 查询当前的切换状态。

QPushButton 一样,复选框也会显示文本和一个小图标。图标用setIcon() 设置。文本可以在构造函数中设置,也可以使用setText() 设置。快捷键可以通过在首选字符前使用 "andpersand "来指定。例如

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

在本例中,快捷键是Alt+A。详情请参见QShortcut 文档。要显示一个实际的分号,请使用"&&"。

另请参阅 QAbstractButtonQRadioButton

属性文档

tristate : bool

该属性用于判断复选框是否为三态复选框

默认为 false,即复选框只有两种状态。

访问函数

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)

用给定的parenttext 构造一个复选框。

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

使用本QCheckBox 中的值初始化option 。该方法适用于需要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

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.