首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >QCheckbox:未发出stateChanged信号

QCheckbox:未发出stateChanged信号
EN

Stack Overflow用户
提问于 2017-07-23 23:04:12
回答 1查看 703关注 0票数 1

我在stateChanged信号的QT槽函数中遇到以下情况:

代码语言:javascript
运行
复制
void ui::myslot(int state) {
  ...
  if (condition) {
    checkbox->setChecked(true);
  }
  ...
}

如果我的复选框已经被选中,并且当我试图取消选中它时,如果条件满足,该复选框将再次被选中。但是,当我再次尝试取消选中它时,条件仍然为真,它只是变为未选中,没有发出任何信号。也就是说,上面的函数甚至没有被调用...

知道这里会发生什么吗?

非常感谢!:)

EN

回答 1

Stack Overflow用户

发布于 2017-07-23 23:59:54

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

代码语言:javascript
运行
复制
void onStateChanged(int state);

您可以将插槽定义为:

代码语言:javascript
运行
复制
void onStateChanged(int state)
{
    qDebug() << "State changed.";
}

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45266567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档