4

我想为 QGraphicsItems 提供可移动的多色工具提示。例如,当我在场景中单击 graphicsItem 时,会出现工具提示,然后在拖动鼠标时工具提示应该跟随光标。我可以使用标准 QToolTip 实现可移动工具提示,但似乎 Qt 仅支持整个工具提示的一种颜色。QToolTip也没有paintEvent,所以我决定创建继承自QTextEdit的ColoredTooltip类,但是当我第一次显示ColoredTooltip对象时出现问题。它开始抓取鼠标事件,这对我来说不好,因为我无法捕捉图形场景的 mouseMove 事件并移动 colouredTooltip。我该如何解决这个问题?

4

1 回答 1

8

要为单个单词(或文本的任何部分)着色,请使用Qt 的富文本引擎支持的微小 HTML 子集。支持<font>标签和属性。支持富文本。color=QToolTip

这个对我有用:

toolTip.setText("foo <font color=\"red\">bar</font>");

要使用任何 RGB 颜色(不仅是已知名称),请使用十六进制表示法:

toolTip.setText("foo <font color=\"#ff0000\">bar</font>");

显示工具提示的图像,其中一个单词以红色着色

请注意,除非您需要在显示时移动工具提示或想要设置其他属性,否则您可以简单地使用QGraphicsItem::setToolTip.

于 2013-04-22T12:03:21.040 回答