在一个线程中对触发的连接进行排队而不冻结 gui 的最佳/最重要的方法是什么?
例如,我有一个 QGraphicsScene,我可以在其中自由移动 QGraphicsItem。我想开始对当前项目位置进行耗时的计算。但一次计算速度足够快,无法识别 GUI 冻结。
因此,仅仅在itemChange()
完成后连接setFlag(QGraphicsItem::ItemSendsScenePositionChanges, true);
就太昂贵了: GUI由于每次移动都会进行新的计算而冻结。
我想将连接排队为仅触发,假设每 500 毫秒触发一次,而不是每次移动时触发一次。(或者 500 毫秒没有用户输入后)