我正在使用QTextEdit来实现编辑器。我的要求之一是在图像上添加固定位置文本。
例如: 我有一个尺寸的图像:300x300。我需要从图像的位置(20,20)开始添加文本,并确保文本不会超出图像的宽度。
如下所示:
我想如果我可以添加QGraphicView,我可以适当添加图像和位置文本。这可能吗?有没有办法将图形元素引入QTextedit?如果没有,那么正确的做法是什么?
答案 0 :(得分:0)
有没有办法将图形元素引入QTextEdit?如果没有,那么正确的方法是什么?
你可以用另一种方式看看这个并将QTextEdit添加到QGraphicsScene。图形场景提供了一个QGraphicsProxyWidget来添加标准的Qt小部件。
因此,您可以创建QGraphicsScene和QGraphicsView。为图像添加QGraphicsPixmapItem,并通过调用QGraphicsScene :: addWidget添加QTextEdit项,该项返回QGraphicsProxyWidget,允许您定位,缩放和调整窗口小部件的大小。
或者,你可以从QGraphicsItem开始,继承它并创建你自己的对象,它封装了QTextEdit的图像和代理对象。
还有其他方法可以解决这个问题,但我可能会选择自定义的QGraphicsItem。它还取决于您的规范,但您可以在没有QTextEdit的情况下在图形场景中添加文本项,但如果需要,您可能必须实现编辑功能。