我正在用 Qt 编写一个程序,它运行 10 个工作线程来计算空间中物体的轨迹。他们还必须绘制对象的路径。我有一个派生 QGraphicsEllipseItem 的“Body”类,其中有一个 QPainterPath。“模拟”类获取世界中的障碍物列表,以及要模拟的身体并运行直到身体与某物碰撞。模拟在单独的线程中运行(使用 moveToThread 完成,而不是通过子类化 QThread)。当身体发生碰撞时,模拟会发出一个信号,表示它已经完成。当所有线程都完成后,我想绘制路径(我通过调用“Body”中的一个方法来绘制路径,该方法在其绘制方法中启用路径绘制)。
不幸的是,我收到了 ASSERT 错误:
ASSERT: "!unindexedItems.contains(item)" in file graphicsview\qgraphicsscenebsptreeindex.cpp, line 364
它们似乎是随机发生的。我尝试了不同的连接类型,但没有结果。
我正在循环启动线程。
我正在使用 Qt 5.0