QCheckBox类
QCheckBox小部件提供了一个带有文本标签的复选框。更多...
头文件 | #include <QCheckBox> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake | QT += widgets |
继承自 | QAbstractButton |
属性
- tristate : bool
公共函数
QCheckBox(QWidget *parent = nullptr) | |
QCheckBox(const QString &text, QWidget *parent = nullptr) | |
虚拟 | ~QCheckBox() |
Qt::CheckState | checkState() const |
bool | isTristate() const |
void | setCheckState(Qt::CheckState state) |
void | setTristate(bool y = true) |
重实现公共函数
虚拟 | minimumSizeHint() const override |
虚拟 | sizeHint() const override |
信号
(自6.7起) void | checkStateChanged(Qt::CheckState state) |
保护函数
虚拟 | initStyleOption(QStyleOptionButton *option) const |
重实现保护函数
虚拟 | checkStateSet() override |
虚拟 | event(QEvent *e) override |
虚拟 | hitButton(const QPoint &pos) const override |
虚拟 | mouseMoveEvent(QMouseEvent *e) override |
虚拟 | nextCheckState() override |
虚拟 | paintEvent(QPaintEvent *) override |
详细描述
A QCheckBox 是一个可以切换开启(选中)或关闭(未选中)的选项按钮。复选框通常用于表示应用程序中的功能,可以在不影響他人情況下啟用或禁用。可以實現不同的操作行為。例如,可以使用 QButtonGroup 將單選按钮邏輯性地組合在一起,允許獨立選擇的复选框。但是,QButtonGroup 沒有任何視覺表示。
以下圖像进一步說明了獨立和非獨立复选框之間的差異。
每次复选框被勾選或清除時,它都會發出 checkStateChanged() 信號。如果您想每次复选框狀態變化時觸發操作,請連接到此信號。您可以使用 isChecked() 查詢复选框是否被勾選。
除了常用的勾選和未勾選狀態外,QCheckBox 選擇性提供一個第三種狀態來表示 "沒有變化"。當您需要給用戶選擇既不勾選也不取消勾選的選項時,這很有用。如果您需要這第三個狀態,可以使用 setTristate()啟用它,並使用 checkState()查詢當前的切換狀態。
與QPushButton類似,複选框會顯示文字,並可选地顯示一個小圖標。圖標使用setIcon()設置。文字可以在構造函數中設置或使用setText()設置。可以指定一個快捷鍵,通过在您希望的字符前面加上&和&符号。例如
在這個例子中,快捷鍵是 Alt+A。詳見QShortcut 文档。如果您想顯示一個實際的&符号,請使用'&&'。
重要的繼承功能: text(),setText(),text(),pixmap(),setPixmap(),accel(),setAccel(),isToggleButton(),setDown(),isDown(),isOn(),checkState(),autoRepeat(),isExclusiveToggle(),group(),setAutoRepeat(),toggle(),pressed(),released(),clicked(),toggled(),checkState(),以及 checkStateChanged().
另请参阅 QAbstractButton 和 QRadioButton.
屬性文檔
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)
使用给定的父对象和文本构造一个复选框。
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.
[重写虚函数]
QSize QCheckBox::sizeHint() const
重新实现了属性访问函数:QWidget::sizeHint.
© 2024 The Qt Company Ltd. 本文件中包含的文档贡献权归其各自的拥有者所有。本文件提供的文档是根据Free Software Foundation发布的GNU Free Documentation License版本1.3的条款许可的。Qt及其相关标志是The Qt Company Ltd在芬兰和/或其他国家的商标。所有其他商标均为各自所有者的财产。