Combo box or popup related components not getting displayed with Embedded Qt Quick 5.4.2
-
We compiled Qt 5.4.2 with Qt Quick on our custom board with ARM processor and Mali OpenGL Library. Compilation went successful and we could able to run some sample program as well. But some of the components, mostly popup related like dropdown box or combo box are not visible with QML. We are getting below error while clicking on the component area.
QEGLPlatformContext::makeCurrent: eglError: 3002, this: 0x3c328cd0
-
Hi. When using the EGLFS platform, you can only have one window. Components like these you mentioned need to create another window that will be floating above the main window. That's when the error happens. You need a pure QML implementation to solve this. Please, see:
http://doc.qt.io/qt-5/embedded-linux.html#eglfs
As of Qt 5.3, eglfs supports a single, fullscreen GL window (for example, an OpenGL-based QWindow, a QQuickView or a QGLWidget). Opening additional OpenGL windows or mixing such windows with QWidget-based content is not supported and will terminate the application with an error message.
-
Thanks for the reply Leonardo and apologies for the late reply. What is meant by pure QML implementation? We are using QML to define the combobox as well. We used QQuick Controls->ComboBox in QML, but still not shown in the UI. Please note this is a custom board where the background of the app will be controlled by a DRM to play video and on top of that QQuickView is rendered.
-
Hi. The ComboBox you're using needs a popup window to show its options. That's why I'm saying it's not pure QML. It's not all contained in the same window, and its behavior is platform dependent. You should implement you own ComboBox to work around the error you're getting.
-
Thanks, Leonardo. Is there any libraries or opensource code available for pure QML implementation of combobox and popup dialogs? We created one combobox component but there are some issues with that, like hover, multiselect etc. If there is already an existing implementation then it will be a good reference for us.
-
Hi. I'm sorry. I don't know any. Could you get rid of the error with your custom implementation?