使用 openGL 加速时不考虑 QChart z 值?
QChart z-values not respected when using openGL acceleration?
我正在尝试做一些与 Qt5 几乎完全相同的事情 callout example,但我发现如果您在该系列中调用 setUseOpenGL(true)
,则会出现标注 在线下方而不是在线上方。
无论 zValue
设置为什么,包括 m_tooltip->setZValue(std::numeric_limits<qreal>::max());
,都是如此
有解决办法吗?
发生这种情况是因为 OpenGL 加速系列通过创建 QOpenGLWidget on top of the actual QGraphicsView, as noted in the documentation of the useOpenGL property:
If you draw any graphics items on top of a chart containing an accelerated series, the accelerated series is drawn over those items.
基本上,由于标注是在 QGraphicsView 内部呈现的,因此当启用 OpenGL 时,会在该 QGraphicsView 之上创建一个 QOpenGLWidget,因为标注出现在该行下方。
我正在尝试做一些与 Qt5 几乎完全相同的事情 callout example,但我发现如果您在该系列中调用 setUseOpenGL(true)
,则会出现标注 在线下方而不是在线上方。
无论 zValue
设置为什么,包括 m_tooltip->setZValue(std::numeric_limits<qreal>::max());
有解决办法吗?
发生这种情况是因为 OpenGL 加速系列通过创建 QOpenGLWidget on top of the actual QGraphicsView, as noted in the documentation of the useOpenGL property:
If you draw any graphics items on top of a chart containing an accelerated series, the accelerated series is drawn over those items.
基本上,由于标注是在 QGraphicsView 内部呈现的,因此当启用 OpenGL 时,会在该 QGraphicsView 之上创建一个 QOpenGLWidget,因为标注出现在该行下方。