c++ - Qt 中如何验证复选框是否被选中?

标签 c++ qt checkbox qt5

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/

相关文章:

c++ - 如何将我的应用静态链接到 ICU 57.1 MinGW

C++ 线程未加入 "Termination called without active exception"

c++ - Xlib XSendEvent 单击事件在 Ubuntu 12.04 的某些窗口中不起作用

c++ - 我可以使用 '->' 运算符通过指针访问对象指针吗?

html - 单个页面上的多个复选框

html - 自定义单选按钮,与其他label标签冲突

C++ windows位图绘制文字

c++ - 如何根据四个旋转和缩放的点绘制椭圆?

qt - 成员访问不完整类型 ‘QScrollBar’

php - 使用 php 如何记住文本字段并使用 cookie 在下次访问该网站时显示它?