QEventLoop已经调用了exec(),甚至在exit()之前
QEventLoop has already called exec() even with exit() before
我有一个按钮连接点击与myfunction见下面。
我正在使用QEventLoop,因为我正在等待一个事件,它将调用_myEventLoop.exit(0);
当我连续两次单击按钮而不等待事件发生时,我得到错误消息:
QEventLoop::exec: instance 0x22f47378 has already called exec()
我在调用exec()之前调用exit(1),但似乎这个exit立即返回,然后函数通过exec()传递,因为它仍在运行返回1,myfunction返回,然后才第一个exec()返回1。
在继续之前,我如何确保之前对exec()的调用已经返回?
void myfuntion()
{
_myEventLoop.exit(1);
if(_myEventLoop.exec() == 0)
{
// DoSomething
}
}
您可以调用QEventLoop::processEvents
来处理任何挂起的事件。
你的代码会像这样:
void myfuntion()
{
_myEventLoop.exit(1);
_myEventLoop.processEvents();
if(_myEventLoop.exec() == 0)
{
// DoSomething
}
}
相关文章:
- 如何确保C++函数在定义之前声明(如override关键字)
- 为什么在定义函数之前先声明它
- Arduino:for/while/if在void setup()或void loop()之前?——错误:之前需要不合格
- 程序在执行程序的其余部分之前退出
- 如何将模板转换为C++11之前的模板
- '||'之前的预期主要表达
- (C++)为什么静态成员可以在初始化之前使用
- 标记 '","' 之前的预期主表达式
- C++的解析器在可以区分比较和模板实例化之前会做什么?
- holeMenuProgram.cpp:38:1 错误:'}'令牌之前的预期主表达式
- 错误:在"生成字符串"之前应为";"
- 为什么C++常量模板化向量在使用之前没有初始化?
- 类的前向声明之后的类成员函数定义,在类声明之前
- 'val' Arduino 错误代码之前的预期'('
- unique_ptr:在分配之前调用 reset 有什么效果
- 语句错误:"","标记之前有"预期的')'
- 在 OpenCV C++ 中估计基本矩阵之前对相应点进行归一化的正确方法是什么?
- 编译 llvm 3.1 时,为什么会出现错误:在">"标记之前预期主表达式
- GStreamer在开始任何播放之前进行搜索
- QEventLoop已经调用了exec(),甚至在exit()之前