对于您的问题,我认为有一种方法可以解决它,但我不确定它是否是最好的。这里是:
你可以调用textCursor()
你的QGraphicsTextItem
来获取QTextCursor
你的QGraphicsTextItem
. 使用此光标,您可以通过调用来获得它的位置position()
。然后保持这个值,更新文本,然后通过创建一个新的来设置光标的QTextCursor
位置,用 设置他的位置setPosition(int pos, MoveMode m = MoveAnchor)
。
我希望这有帮助。
编辑添加示例:
// graphicsTextItem is of type QGraphicsTextItem*
QTextCursor cursor = graphicsTextItem->textCursor;
int startPosition = cursor.position();
// Do all you need to update your text.
QTextCursor afterCursor;
afterCursor.setPosition(startPosition);
graphicsTextItem->setTextCursor(afterCursor);
我没有对此进行测试,我按照我认为可行的方式编写了它。