2

是否可以在事件处理程序中调用 QApplication::processEvents() ,其中有一个很长的过程。我的程序以 Segfault 终止。我的代码是这样的:

void MyApplication::customEvent(QEvent* event)
{
  if(event->type() == UserEventCustom)
  {
    for(int i = 0; i < 99999; ++i)
    {
       QApplication::processEvents();
       doSomething();
    }

    event->accept();
  }
}
4

1 回答 1

1

我怀疑 Ton van den Heuvel(来自评论)是正确的,您看到了堆栈溢出。

但是,在我的公司,我们发现最好避免使用 processEvents()。我们的经验表明 processEvents() 会导致崩溃,我们尽量避免使用它。我会问自己是否可以在没有 processEvents() 调用的情况下重构代码。例如,您可能会生成一个线程来进行处理。

于 2011-05-11T04:14:10.600 回答