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 .