nameLine实例this box is unchecked的状态为QCheckBox时,以下代码应该将checkbox形式的文本设置为Unchecked

这是我的复选框实例声明:

QCheckBox *checkbox = new QCheckBox("paid with cash!", this);
checkbox->setCheckState(Qt::Unchecked);

到目前为止,这是逻辑:
if(checkbox->checkState(Qt::Unchecked))
{
    nameLine->setText("the box is unchecked");
}

此代码无法编译。产生的错误如下:
C:\Qt\5.1.1\mingw48_32\examples\widgets\tutorials\addressbook\part1\voruskra.cpp:144: error: no matching function for call to 'QCheckBox::checkState(Qt::CheckState)'
    if(checkbox->checkState(Qt::Unchecked))
                                         ^

你能告诉我我做错了吗?

最佳答案

除非使用三态复选框,否则只需if (checkbox->isChecked())
此属性是在QAbstractButton中继承的。如果它是三态复选框,则必须按照其他答案中的建议使用checkState()

关于c++ - 如何验证Qt中的复选框是否已选中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27196428/

10-14 07:26