QChart z-значения не соблюдаются при использовании ускорения OpenGL?

Я пытаюсь сделать что-то почти так же, как Qt5 пример выноски, но я обнаружил, что если вы позвоните setUseOpenGL(true) на серии, то появляется выноска под линия, а не над ней.

Это правда, несмотря ни на что zValue установлен, в том числе m_tooltip->setZValue(std::numeric_limits<qreal>::max());

Есть ли обходной путь для этого?

введите описание изображения здесь

2

Решение

Это происходит потому, что ускоренная серия OpenGL работает путем создания QOpenGLWidget поверх фактического QGraphicsView, как отмечено в документации свойство useOpenGL:

Если вы рисуете какие-либо графические элементы в верхней части диаграммы, содержащей ускоренную серию, ускоренная серия рисуется поверх этих элементов.

В основном, так как выноска отображается внутри QGraphicsView, когда OpenGL включен, QOpenGLWidget создается поверх этого QGraphicsView и потому, что выноска появляется ниже линии.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]