checkBox qt
时间: 2025-01-19 11:47:46 浏览: 56
### 使用 CheckBox 控件
在 Qt 中,`QCheckBox` 是一种常用的控件,用于提供一个可以选中或取消选中的方框。下面是一个简单的例子来展示如何创建并使用 `QCheckBox`:
```cpp
#include <QApplication>
#include <QWidget>
#include <QVBoxLayout>
#include <QCheckBox>
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget window;
QVBoxLayout *layout = new QVBoxLayout(&window);
// 创建两个复选框实例
QCheckBox *checkBox1 = new QCheckBox("&Option 1", &window);
checkBox1->setChecked(true); // 默认勾选第一个选项
QCheckBox *checkBox2 = new QCheckBox("O&ption 2", &window);
layout->addWidget(checkBox1);
layout->addWidget(checkBox2);
QLabel *label = new QLabel("Options selected:", &window);
layout->addWidget(label);
QObject::connect(checkBox1, &QCheckBox::stateChanged,
[&]() {
label->setText(QString("Options selected: %1").arg(
(checkBox1->isChecked() ? "Option 1" : "") +
((checkBox1->isChecked() && checkBox2->isChecked()) ? ", " : "") +
(checkBox2->isChecked() ? "Option 2" : "")
));
});
QObject::connect(checkBox2, &QCheckBox::stateChanged,
[&]() {
label->setText(QString("Options selected: %1").arg(
(checkBox1->isChecked() ? "Option 1" : "") +
((checkBox1->isChecked() && checkBox2->isChecked()) ? ", " : "") +
(checkBox2->isChecked() ? "Option 2" : "")
));
});
window.setLayout(layout);
window.show();
return app.exec();
}
```
这段代码展示了如何设置多个 `QCheckBox` 实例以及它们之间的交互逻辑[^1]。
当用户改变任何一个复选框的状态时,连接到该信号槽函数会更新标签上的文字以反映当前的选择情况。这里通过 lambda 表达式实现了匿名函数作为槽函数的功能。
阅读全文
相关推荐

















