图片上的Qt文本编辑器

问题描述:

我还没有找到确切的问题。图片上的Qt文本编辑器

我有一张图片,为了示例的缘故,它可能是空白的,或者包含我想添加花哨说明的内容。我想在图片的顶部添加文本编辑工具(类似于Photoshop)。

我在考虑继承QGraphicsScene,并在按下文本放置按钮时在场景中放置了一个子类型为QTextEdit的对象。然后,当你点击这个对象上,除可编辑文本,其他文本编辑工具可用 - 所以你可以设置文字粗体,斜体的部分,修改颜色,大小等,然后你就可以改变该对象的位置 - 我认为这在QGraphicsScene默认情况下可用。而对于背景QBrush,则会有背景图片。

这是一个合理的解决方案?

也许有这样任何现成可用的例子,但我还没有找到他们没有。

我的解决方案

文本资料: 对于文本的项目,我用QGraphicsScene一个子类QGraphicsTextItem。对于背景图像,我使用的QGraphicsRectItemQBrush和使用QImage方法加载的图片。

编辑此所选文本的部分子类QGraphicsTextItem: QTextCharFormat加我的子类QGraphicsTextItem使用QGraphicsTextItem::textCursor().mergeCharFormat(...)来。通过这种方式,我可以在选择时更改格式,例如粗体,斜体等。

一些更多的一样的东西: 平移和现场周围的放大,我使用Vpicaver完整的源代码的优秀导游从http://www.qtcentre.org/wiki/index.php?title=QGraphicsView:_Smooth_Panning_and_Zooming