qt QCheckBox详解
QCheckBox
是 Qt 框架中的一个控件,用于创建复选框,允许用户进行选择和取消选择。它通常用于表单、设置界面和任何需要用户选择的场景。
QCheckBox继承自QAbstractButton类,因此继承了按钮的特性。它表示一个复选框,用户可以通过点击来切换其选中状态(选中或未选中)。复选框通常用于表示应用程序中可以启用或禁用的功能,同时选择的状态不会影响其他功能。
重要方法
QCheckBox(const QString &text, QWidget *parent = nullptr)
:构造复选框,采用给定parent和text,parent被传递给QAbstractButton构造函数。void setChecked(bool checked)
:设置复选框的选中状态。如果参数为true,则复选框被选中;如果为false,则复选框被取消选中。bool isChecked() const
:返回复选框的选中状态。void setTristate(bool y = true)
:设置QCheckBox控件的三态模式。三态模式包括选中、未选中和部分选中。参数y是一个bool类型,默认为true,用于指定是否开启三态模式。bool isTristate() const
:查询复选框是否为三态模式。Qt::CheckState checkState() const
:查询复选框当前状态。该函数返回的是Qt::CheckState类型,Qt::CheckState是一个枚举类型,表示复选框的状态(Unchecked:未选中,PartiallyChecked:部分选中,Checked:选中)。void setCheckState(Qt::CheckState state)
:设置复选框状态。void setText(const QString &text)
:设置复选框旁边显示的文本。QString text() const
:返回复选框的显示文本。
重要信号
- stateChanged(int state):当复选框的选中状态改变时,这个信号会被发射。state参数是一个Qt::CheckState枚举值,表示复选框的新状态。
- toggled(bool checked):这也是一个当复选框的选中状态改变时发射的信号,但它只提供一个布尔值checked,表示复选框是否处于选中状态(true为选中,false为未选中)。
- clicked(bool checked = false):当用户点击复选框时,这个信号会被发射。clicked信号在每次点击时都会发射,不论复选框的选中状态是否实际改变。
#include <QApplication>
#include <QWidget>
#include <QCheckBox>
#include <QVBoxLayout>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QWidget window;
QVBoxLayout *layout = new QVBoxLayout;
// 创建两个QCheckBox控件
QCheckBox *checkBox1 = new QCheckBox("Option 1");
QCheckBox *checkBox2 = new QCheckBox("Option 2");
checkBox2->setTristate(true); // 启用三态
// 将两个QCheckBox控件添加到QVBoxLayout布局中
layout->addWidget(checkBox1);
layout->addWidget(checkBox2);
window.setLayout(layout);
window.setWindowTitle("QCheckBox Example");
window.show();
return app.exec();
}
觉得有帮助的话,打赏一下呗。。