0

我有一个创建 QGraphicsSimpleTextItem 的 QThread。当我关闭我的应用程序时,我尝试完成线程然后终止它。

if( !QThread::wait(1000) )
    QThread::terminate();

QGraphicsSimpleTextItem::setFont()一切都很好,直到我在我的线程中添加一个调用。如果我这样做,Qt 的内部 QFontCache 系统将被调用,并将启动一个 QTimer(从我的线程)。然后当我终止 QThread 时,当 Qt 清理事件循环时(从主)调用 killTimer 并且我得到错误:

QObject::killTimers: timers cannot be stopped from another thread

我应该怎么做才能避免这个问题?这不应该被视为字体缓存机制的错误吗?谢谢你的帮助。

4

0 回答 0