PDA

View Full Version : [Qt4.8] QML: Text corruption



flamaros
27th February 2013, 11:37
I have some texts corrupted on my qml interface, those corruption are only appears on Windows (tested on 7). I had also test on Mac OS X.

8775

wysota
27th February 2013, 11:42
Yes, and...?

flamaros
27th February 2013, 13:04
Notice: This append only when I force qml to be rendered with opengl.



QApplication::setGraphicsSystem("opengl");


Added after 5 minutes:


Yes, and...?

I just want to know if someone already something like that or if I just catch a bug...

wysota
27th February 2013, 13:24
How about just setting a QGLWidget (with multisampling) as the viewport of the declarative view?

flamaros
27th February 2013, 14:36
I just use the generated class QmlApplicationViewer when you create a new QtQuick1 project in QtCreator.

With or without
viewer.setRenderHints(QPainter::HighQualityAntiali asing); the result is the same.

wysota
27th February 2013, 15:36
And the base class of QmlApplicationViewer is....

flamaros
27th February 2013, 15:42
Problem solved:

I just download Qt 4.8.4 to link with instead of version 4.8.1 provided by the QT SDK.

Thx.

wysota
27th February 2013, 15:58
Either way you should be using a GL viewport for your declarative view rather than switching everything to the gl paint engine.

flamaros
28th February 2013, 09:49
Why it's better to use a viewport instead of just switching everything to the opengl render?

I develop an application for Android, iOS, Windows, Mac OS X and we plan to migrate it to Qt5.x in a near future. On platforms like Android or iOS opengl is the native graphic system.

Thank you for your feedback.

wysota
28th February 2013, 10:54
Why it's better to use a viewport instead of just switching everything to the opengl render?

I develop an application for Android, iOS, Windows, Mac OS X and we plan to migrate it to Qt5.x in a near future. On platforms like Android or iOS opengl is the native graphic system.
.

Because the gl renderer is of lower quality than the raster one. And (I think) it won't work on Qt5 anyway.

flamaros
28th February 2013, 15:11
Because the gl renderer is of lower quality than the raster one. And (I think) it won't work on Qt5 anyway.

With Qt5 the default render engine for QML is opengl, but with a scene graph.

wysota
28th February 2013, 16:26
With Qt5 the default render engine for QML is opengl, but with a scene graph.

A render engine -- yes, graphics system -- no. I'm telling you to use a QGLWidget as the viewport which makes QML render using OpenGL while keeping the graphicssystem at its default value which makes everything else use whatever is set as default on the platform. In Qt5 there are no graphics systems, only QPA plugins. Using QtQuick2 requires a QPA plugin that supports OpenGL(ES) 2.0+, that's it, nothing more.