是否可以在事件处理程序中调用QApplication :: processEvents(),其中有一个很长的进程。我的程序终止于Segfault。我的代码是这样的:
void MyApplication::customEvent(QEvent* event)
{
if(event->type() == UserEventCustom)
{
for(int i = 0; i < 99999; ++i)
{
QApplication::processEvents();
doSomething();
}
event->accept();
}
}
答案 0 :(得分:0)
我怀疑Ton van den Heuvel(来自评论)是正确的,你看到堆栈溢出。
但是,在我的公司,我们发现最好避免使用processEvents()。我们的经验表明processEvents()会导致崩溃,我们会尽量避免使用它。我会问你自己是否可以在没有processEvents()调用的情况下重构你的代码。例如,您可能会生成一个线程来处理。