【发布时间】:2016-10-26 19:12:00
【问题描述】:
我需要实现一个像 QGraphcisTextItem 这样的类,但是我需要它是可选择的文本。
但是,如果我的类来自 QGraphicsTextItem 或 QGraphicsItem,并且我重新实现了绘制事件,那么文本可选择的能力就会丢失(我正在使用 drawText)。
所以我的问题是如何使用 QPainter 的 drawText 创建可选择的文本?
【问题讨论】:
-
您可以在您希望选择的位置绘制不同颜色的文本背景。颜色可以从 QPalette 中挑选。
-
顺便说一句,你的问题听起来很奇怪。您了解绘图和与用户交互之间的区别吗?你的确切问题是什么?你做过研究吗?
-
我明白其中的区别。当您使用 QGraphicsTextItem 时,您可以选择文本,然后可以复制它。你有这个名为 setTextSelectable 的特定函数。它甚至启用了用于复制的弹出菜单。我希望自己实现的图形文本项具有相同的功能。我不能使用 QGraphcisTextItem 因为我希望我的项目有不同的字体。我能想到的唯一其他方法是拥有多个文本项,但我不认为这是要走的路。
-
不确定,但如果你使用QGraphicsTextItem::setHtml(),也许你可以有多种字体,并在html中设置样式(字体)
-
我也想过这个问题,但是这个解决方案的问题是它是我从资源中添加到 FontDatabse 的字体。我不能使用带有 html 标签的那种添加的字体。
标签: qt qgraphicsitem qpainter