2

我正在尝试做与 Qt5标注示例几乎完全相同的事情,但我发现如果您调用setUseOpenGL(true)该系列,那么标注会出现线条下方而不是上方。

无论zValue设置什么都是如此,包括m_tooltip->setZValue(std::numeric_limits<qreal>::max());

有解决方法吗?

在此处输入图像描述

4

1 回答 1

1

发生这种情况是因为 OpenGL 加速系列通过在实际 QGraphicsView 之上创建QOpenGLWidget来工作,如useOpenGL 属性的文档中所述:

如果您在包含加速序列的图表顶部绘制任何图形项,则会在这些项上绘制加速序列。

基本上,由于标注是在 QGraphicsView 内呈现的,当启用 OpenGL 时,会在 QGraphicsView 之上创建一个 QOpenGLWidget,并且因为标注出现在线条下方。

于 2017-05-21T15:54:06.667 回答