Weird black screen with mousepointer icons when using QGLWidget



  • Anybody ever experienced this?

    I have an iMX6 embbedded linux board, with a LCD and touchscreen.

    I have an QML QtQuick 1.1 / C++ application. That works on the target.
    When I want to HW accelerate it and put it on a QGLWidget it shows the first screen of the app. But when touching or clicking with the mouse, I get a black screen with all the mouse pointer icons blown up (like the hand, the arrow, the sand-hourglass, etc), after a screen refresh I get my app screen back. When an animation is accuring, the screen flickers between the app screen and this black mouse icon screen.

    If I port my app to QML QtQuick 2.0/ C++, which is HW accelerated by default and not using the QDeclativeView, but the QQuickView, the app works fine.

    This is what I do to make it a QGLWidget.
    @
    // Set view optimizations not already done for QDeclarativeView
    setAttribute(Qt::WA_OpaquePaintEvent);
    setAttribute(Qt::WA_NoSystemBackground);

    // Make QDeclarativeView use OpenGL backend
    QGLWidget *glWidget = new QGLWidget(this);
    setViewport(glWidget);
    setViewportUpdateMode(QGraphicsView::FullViewportUpdate);
    @



  • I switched to QT5.1.0 and figured out there is a environmental variable to hide the cursor on EGL and that seems to do the trick.

    @
    export QT_QPA_EGLFS_HIDECURSOR=1
    @

    Maybe it masks the real problem, but I do not need a mouse pointer.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.