小弟在制作一个
绘图软件,参考了github上的qdraw(
https://github.com/lulu93/qdraw)中的QUndoCommand的写法,可是这个项目本身就是有bug。比如说选中直线的时候,拖久一点并到处乱甩然后再放从而生成一条直线的时候,如果在QUndoCommand点击撤回的时候,item有时会消除不了,虽然通过qdebug可知的确是消除了,可肉眼还是见到这根线还在。请问这种bug怎么解决?解决的思路是什么? 小弟认为是刷新的
问题,于是把QUndoCommand的redo和undo里面不写scene的undate(),虽然偶尔不发生这种
错误,可是又会引发
其他错误。。。

还是人家这
部分的代码不合适吗?
view->setRenderHint(
QPainter::Antialiasing);
view->setCacheMode(
QGraphicsView::CacheBackground);
view->setOptimizationFlags(QGraphicsView::DontSavePainterState);
view->setViewportUpdateMode(QGraphicsView::SmartViewportUpdate);
//view->setViewportUpdateMode(QGraphicsView::FullViewportUpdate);
view->setTransformationAnchor(QGraphicsView::AnchorUnderMouse);