use*_*248 1 c++ checkbox qt qt5
以下代码应该将nameLine表单文本设置this box is unchecked为QCheckBox实例checkbox具有状态Unchecked.
这是我的复选框实例声明:
QCheckBox *checkbox = new QCheckBox("paid with cash!", this);
checkbox->setCheckState(Qt::Unchecked);
Run Code Online (Sandbox Code Playgroud)
这是迄今为止的逻辑:
if(checkbox->checkState(Qt::Unchecked))
{
nameLine->setText("the box is unchecked");
}
Run Code Online (Sandbox Code Playgroud)
此代码无法编译.产生的错误如下:
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))
^
Run Code Online (Sandbox Code Playgroud)
你能告诉我我做错了什么吗?
除非您使用三态复选框,否则您可以简单地使用 if (checkbox->isChecked())
这个属性是继承的方式QAbstractButton.如果是三态复选框,则必须checkState()按照其他答案中的建议使用.