QChart z 值在使用 openGL 加速时不受尊重?

Posted

技术标签:

【中文标题】QChart z 值在使用 openGL 加速时不受尊重?【英文标题】:QChart z-values not respected when using openGL acceleration? 【发布时间】:2017-04-06 16:40:30 【问题描述】:

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

无论zValue 设置为什么,这都是正确的,包括m_tooltip->setZValue(std::numeric_limits<qreal>::max());

有解决办法吗?

【问题讨论】:

你有没有找到解决这个问题的方法? 不,只是禁用 opengl 加速 【参考方案1】:

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

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

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

【讨论】:

以上是关于QChart z 值在使用 openGL 加速时不受尊重?的主要内容,如果未能解决你的问题,请参考以下文章

OpenGL:切换和反转轴

使用 C++ 在 OpenGL 中的动画点?

复选框值在 false 时不绑定到对象?

为啥 Windows 8.1 加速计 API 在设备静止时不输出数据?

有没有办法在无头机器上使用使用硬件加速 OpenGL 的应用程序?

使用 OpenGL v1.4 进行硬件加速的 Qt 2D 绘图?