QCheckbox:未发出stateChanged信号

时间:2017-07-23 15:04:12

标签: c++ qt checkbox qcheckbox

对于stateChanged信号,我的QT Slot函数有以下情况:

void ui::myslot(int state) {
  ...
  if (condition) {
    checkbox->setChecked(true);
  }
  ...
}

如果已选中我的复选框,并且当我尝试取消选中该复选框时,如果条件已满足,则将再次选中该复选框。 但是,当我尝试再次取消选中它并且条件仍然为真时,它就会变为未选中状态而不会发出任何信号。即,上述功能甚至不被称为......

知道这里会发生什么吗?

非常感谢! :)

1 个答案:

答案 0 :(得分:0)

您是否尝试创建临时插槽,将其与stateChanged()信号连接?例如:

void onStateChanged(int state);

您可以将广告位定义为:

void onStateChanged(int state)
{
    qDebug() << "State changed.";
}

不要忘记在.cpp文件中包含标题。然后将插槽与信号连接并启动应用程序。如果您在标准输出中看到"State changed."并且执行到达插槽,则信号将正确发出。