Black screen and normal using QOpenGLContext + QQuickWindow
-
So nothing QtQuick related ?
-
Sorry, I meant: are you doing anything QtQuick related in your application ?
Threads can be involved, it's explained in the Rendering part of the QQuickWindow documentation.
-
Hi @Tom_H
I changed the code in order to use QOpenGLWindow.
It seems working. Now I want to test adding a QWidget on the screen aside OpenGL frame using the following code:MainWindow::MainWindow(QWidget *parent)
{
...
parent->layout()->addWidget( component ... );
} -
@BrunoGSA said in Black screen and normal using QOpenGLContext + QQuickWindow:
parent->layout()->addWidget( component ... );
That's a wrong thing to do. Parent might be nullptr, might not have any layout, etc.
Child widget should not know nor care about their parents. It's not their role to modify them.
-
@SGaist you are completely right. That did not work.
I solved with a big workaround.
I create another window (QWidget) and set ("no-header", transparent backgound, "always on top") in order to simulate the maind window with opengl renderer and the Controls on the surface (QWidget).It was the best option I found out using QT, unfortunately.
-
@BrunoGSA I'm not sure what exactly you're doing, but it sounds like you're doing it the hard way. There are several ways to do OpenGL and QtQuick, as described in this video:
The easiest is shown in the example
openglunderqml
, and is the first method described in the video. It's also the method I'm currently using. -
You're welcome !
Since you have it working now, please mark the thread as solved using the "Topic Tools" button so that other forum members may know solution has been found :)