Details
-
Bug
-
Resolution: Done
-
P3: Somewhat important
-
None
-
5.3.1, 5.4.0
-
None
Description
If winId() gets called at any point on a qquickwidget instance (or even on any of the ancestors of the qquickwidget), rendering will stop immediately, turning it to a black window.
stderr starts to repeat over and over:
QQuickWidget cannot be used as a native child widget. Consider setting Qt::AA_DontCreateNativeWidgetSiblings
Given that error message, the problem seems that winId() turns it into a native window and calls QWidgetPrivate::createWinId, breaking the conditions QQuickWidget needs in order to be able to render correctly.
Attached there i a simple patch to the qquickwidget example (5.4 branch) that shows the problem.
Attachments
Issue Links
- is duplicated by
-
QTBUG-41779 qtwebengine breaks on X11 if a QGLWidget or a widget with native window is in the same QMainWindow
- Closed
- relates to
-
QTBUG-41779 qtwebengine breaks on X11 if a QGLWidget or a widget with native window is in the same QMainWindow
- Closed
-
QTBUG-48130 Calling winId() on a widget breaks QOpenGLWidget/QQuickWidget/QWebEngineView in the same TLW
- Closed
-
QTCREATORBUG-15727 Please port the welcome screen back to widgets
- Closed
For Gerrit Dashboard: QTBUG-40765 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
94880,3 | Add a note about winId() to QQuickWidget | 5.4 | qt/qtdeclarative | Status: MERGED | +2 | 0 |
94882,2 | Add a note about winId() to QOpenGLWidget docs | 5.4 | qt/qtbase | Status: MERGED | +2 | 0 |