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语句中,无论复选框是否被选中:(那么其他一些事情是错误的,因为这是正确的答案。所以基本上,这是一个关于复选框的程序?