qt获取checkbox状态
时间: 2024-10-11 10:16:56 浏览: 35
QT CheckBox复选框状态设置、信号绑定, setCheckState、checkState、setTristate
在Qt中,你可以通过QCheckBox类的成员函数来获取其选中(checked)的状态。以下是一个简单的示例:
```cpp
QCheckBox *checkBox = new QCheckBox("Checkbox标题", parent); // 创建一个检查框
// 连接信号槽,当checkbox状态改变时,槽函数会被调用
QObject::connect(checkBox, &QCheckBox::stateChanged, this, [checkBox](int state) {
if (state == Qt::Checked) {
qDebug() << "Checkbox is checked.";
} else if (state == Qt::Unchecked) {
qDebug() << "Checkbox is unchecked.";
}
});
// 获取当前状态
int currentState = checkBox->checkState(); // 返回0(未选中)、1(部分选中)或2(完全选中)
// 检查当前状态是否为已选中
bool isChecked = (currentState == Qt::Checked);
if (isChecked) {
qDebug() << "Checkbox is currently checked.";
}
```
在这个例子中,`checkState()`函数用于获取checkbox的实际状态,而`stateChanged(int state)`信号连接到一个槽函数,每当checkbox状态发生变化时,会通知我们新的状态。
阅读全文