Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何验证Qt中是否选中了复选框?_C++_Qt_Checkbox_Qt5 - Fatal编程技术网

C++ 如何验证Qt中是否选中了复选框?

C++ 如何验证Qt中是否选中了复选框?,c++,qt,checkbox,qt5,C++,Qt,Checkbox,Qt5,当QCheckBox实例复选框的状态为未选中时,以下代码应将名称行表单的文本设置为此框未选中 以下是my checkbox实例声明: QCheckBox *checkbox = new QCheckBox("paid with cash!", this); checkbox->setCheckState(Qt::Unchecked); 目前的逻辑如下: if(checkbox->checkState(Qt::Unchecked)) { nameLine->setTex

QCheckBox
实例
复选框
的状态为
未选中时,以下代码应将
名称行
表单的文本设置为
此框未选中

以下是my checkbox实例声明:

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))
                                         ^

你能告诉我我做错了什么吗?

我认为
checkState
不需要任何论证。尝试
if(checkbox->checkState()==Qt::Unchecked)
除非您使用三态复选框,否则只需
if(checkbox->isChecked())


此属性在
QAbstractButton
中继承。如果是三态复选框,您必须使用另一个答案中建议的
checkState()

也许您可以这样尝试

QCheckBox *checkbox = new QCheckBox("paid with cash!", this);
checkbox->setChecked(false);
然后对于if命令

if(!checkbox->isChecked)
{
     nameLine->setText("the box is unchecked");
}

是的,我在我的评论之后就想到了,但是它总是出现在if语句中,无论复选框是否被选中:(那么其他一些事情是错误的,因为这是正确的答案。所以基本上,这是一个关于复选框的程序?