QTextEdit:如何在图像上添加固定位置文本

时间:2014-03-04 11:20:54

标签: qt qtextedit

我正在使用QTextEdit来实现编辑器。我的要求之一是在图像上添加固定位置文本。

例如: 我有一个尺寸的图像:300x300。我需要从图像的位置(20,20)开始添加文本,并确保文本不会超出图像的宽度。

如下所示:

Sample output view (pic borrowed from Windows7)

我想如果我可以添加QGraphicView,我可以适当添加图像和位置文本。这可能吗?有没有办法将图形元素引入QTextedit?如果没有,那么正确的做法是什么?

1 个答案:

答案 0 :(得分:0)

  

有没有办法将图形元素引入QTextEdit?如果没有,那么正确的方法是什么?

你可以用另一种方式看看这个并将QTextEdit添加到QGraphicsScene。图形场景提供了一个QGraphicsProxyWidget来添加标准的Qt小部件。

因此,您可以创建QGraphicsScene和QGraphicsView。为图像添加QGraphicsPixmapItem,并通过调用QGraphicsScene :: addWidget添加QTextEdit项,该项返回QGraphicsProxyWidget,允许您定位,缩放和调整窗口小部件的大小。

或者,你可以从QGraphicsItem开始,继承它并创建你自己的对象,它封装了QTextEdit的图像和代理对象。

还有其他方法可以解决这个问题,但我可能会选择自定义的QGraphicsItem。它还取决于您的规范,但您可以在没有QTextEdit的情况下在图形场景中添加文本项,但如果需要,您可能必须实现编辑功能。