我在用户点击图形视图时添加了一个qgraphicsTextitem,我将使用setTextInteractionFlags(Qt :: TextEditorInteraction)设置图形文本的编辑模式;
但问题是用户可以编辑文本,文本超出视口可见区域或场景矩形。
用户输入的文本应限制在sceneRect内,我如何在图形框架中完成。
当textitem文本在中间开始并且输入的文本退出sceneRect时,我必须移动文本pos左侧。
答案 0 :(得分:1)
您必须明确设置sceneRect
的{{1}}。否则,它会自动增长。你会希望它是固定的大小。
然后,您需要继承QGraphicsScene
,或从头开始创建自己的QGraphicsItem。
也许如果您覆盖QGraphicsTextItem
,您可以调用基座virtual QRectF boundingRect () const
,检查它是否在场景矩形之外,然后使用boundingRect
将项目移到左侧。
请记住,边界矩形在项目坐标中,您需要考虑项目位置以获取场景坐标。