图片上的Qt文本编辑器
问题描述:
我还没有找到确切的问题。图片上的Qt文本编辑器
我有一张图片,为了示例的缘故,它可能是空白的,或者包含我想添加花哨说明的内容。我想在图片的顶部添加文本编辑工具(类似于Photoshop)。
我在考虑继承QGraphicsScene
,并在按下文本放置按钮时在场景中放置了一个子类型为QTextEdit
的对象。然后,当你点击这个对象上,除可编辑文本,其他文本编辑工具可用 - 所以你可以设置文字粗体,斜体的部分,修改颜色,大小等,然后你就可以改变该对象的位置 - 我认为这在QGraphicsScene
默认情况下可用。而对于背景QBrush
,则会有背景图片。
这是一个合理的解决方案?
也许有这样任何现成可用的例子,但我还没有找到他们没有。
答
我的解决方案
文本资料: 对于文本的项目,我用QGraphicsScene
一个子类QGraphicsTextItem
。对于背景图像,我使用的QGraphicsRectItem
与QBrush
和使用QImage
方法加载的图片。
编辑此所选文本的部分子类QGraphicsTextItem: QTextCharFormat
加我的子类QGraphicsTextItem
使用QGraphicsTextItem::textCursor().mergeCharFormat(...)
来。通过这种方式,我可以在选择时更改格式,例如粗体,斜体等。
一些更多的一样的东西: 平移和现场周围的放大,我使用Vpicaver完整的源代码的优秀导游从http://www.qtcentre.org/wiki/index.php?title=QGraphicsView:_Smooth_Panning_and_Zooming