Hi

What I want to achieve is something similar to a cad / paint app, with a menu 
with buttons (circle, line, ...) and a drawing area. In Qt Widgets, I would 
have done a QMainWindow with a menu with buttons and a QGLwidget in the mdi 
area.
In QML, I have a main rectangle, with a menu with some buttons, now how do I 
set a child opengl drawing area ?


1) using QML writing C++ items to integrate into the scene graph (see 
http://qt-project.org/doc/qt-5.0/qtquick/qquickitem.html for the base class) - 
this also means you’ll be able to use Silica in your application


I'm not sure if this is what I want/need but I will check better the link 


2) using C++, instantiating a QWindow, and doing all your rendering by yourself 
(ideally using OpenGL ES) - something like 
http://qt-project.org/doc/qt-5.0/qtgui/openglwindow.html


I like this option because I want to use OpenGL ES for my drawing area, where 
the user can input lines, circles, ... with touch events. But can I have best 
of both worlds and use also a fancy QML menu with buttons ? I would have to 
have a main (something ???) with a child qml menu and a child opengl QWindow.


3) other, as-yet-to-be-finalised routes like doing *everything* yourself, using 
SDL, etc.
 
Not a change in hell :) Life is short and I just want to keep it simple, and 
use whenever possible all the goodies Qt has to offer :)

Thanks for your replay, and patience, has I am not, yet, very familiar with QML 
world.

Regards
João  






Em Quarta-feira, 4 de Dezembro de 2013 22:40, Robin Burchell 
<robin.burch...@jolla.com> escreveu:
 
Hi, 


On 04 Dec 2013, at 20:18, joao morgado <joaodeusmorg...@yahoo.com> wrote:
@: Wim de Vries. 
>I share your frustation about OpenGL with QWindow, and I'm also frustated with 
>Qt widgets. 
>I have a very nice app in OVI, symbian, with QWidgets and OpenGL, I'll have to 
>do a complete redesign, since widgets are black listed.

The reason for the blacklist is twofold:
1) we do not (and have not) done any work on QWidget-using applications on 
Sailfish, either in terms of working at all/working correctly, let alone 
working performantly - and as we don’t have infinite resources, we have to 
choose where to focus, and that isn’t on widget-using applications
2) they will not work performantly at all, due to being stuck with the software 
rendering stack (we’re talking something well under the display refresh rate on 
an un-loaded device)

Separately from the problem of actually working, and working well, any use of 
QtWidgets also imposes some pretty nasty resource penalties on your application 
(mostly in terms of startup, but also resource usage) as it’s a pretty massive 
library.

Generally speaking - they just aren’t very mobile-friendly.


That example of QWindow with OpenGL, to me, it's an over complicated mess, 
luckly I managed to port my opengl code to QWindow but took me quite a while to 
do it. To me, there is a better example here 
https://github.com/advancingu/Qt5OpenGL

An example rather depends on what you want to do. Either you’re:
1) using QML writing C++ items to integrate into the scene graph (see 
http://qt-project.org/doc/qt-5.0/qtquick/qquickitem.html for the base class) - 
this also means you’ll be able to use Silica in your application
2) using C++, instantiating a QWindow, and doing all your rendering by yourself 
(ideally using OpenGL ES) - something like 
http://qt-project.org/doc/qt-5.0/qtgui/openglwindow.html
3) other, as-yet-to-be-finalised routes like doing *everything* yourself, using 
SDL, etc.

So it seems that only QML apps are supported, but I have no clue how to add a 
QWindow in a QML app. There's an example in QtCreator "Scene Graph - OpenGL 
under QML" but they use QQuickItem, 
>for OpenGL, so I still don't have a clue how to use OpenGL in a QML app.

Your QML application has a C++ entry point (though if you’re using something 
like qmlscene… you’ll need to create such an entry point yourself) with your 
‘main’ function. You can create a QWindow in there, and show it. You can hook 
into QML using Q_INVOKABLE methods to show it based on a clicked action on a 
Silica button, etc, etc, etc.

I’d need more information to be able to really provide useful help here :)


Regards
>João de Deus 

BR,
Robin
_______________________________________________
SailfishOS.org Devel mailing list

Reply via email to