当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/