[SailfishDevel] Python and Qt Widgets development possible?

Thomas Perl th.perl at gmail.com
Sun Feb 16 23:01:48 UTC 2014


On 2014-02-16 16:07, Dietmar Schwertberger wrote:
> But IMHO restricting GUI to QML only is a mistake.

You can use the Wayland protocol directly or e.g. SDL2 or anything else 
that can be made to render via OpenGL ES/EGL and talk via the Wayland 
protocol.

Nobody is restricting the GUI to QML; you can use whatever you want - 
with some caveats:

  - Native look'n'feel (Silica) is restricted to QML-only
  - Qt Widgets is not supported

> Such a limitation of tools stops software frombeing ported, written
> and/orpublished.

Ported Qt Widgets-based apps wouldn't be good apps, anyway (rewrite the 
UI in QML).
Ported SDL2-based OpenGL ES games (for example) will work great, even 
without QML.
People write apps in QML. Cross-platform. Better ones than Qt 
Widget-based ones. In less time.
QML is more portable (including to iOS, Android, BB10, ...) than Qt 
Widgets, anyway.

> If the N900 had been QML only,
> then I would have bought an Android device instead.

The major difference between Maemo 5 (on the N900) and Sailfish OS (on 
Jolla) as it relates to this conversation is:

  - X11 vs. Wayland
  - Hildon vs. Silica

Saying "Sailfish OS is QML-only" (to be more precise: "Silica-only") is 
the same as saying "the N900 is Hildon-only" (yes, not Qt Widgets, not 
Gtk, but Hildon 2). Qt Widgets on the N900 just had a very good theme 
that looked and felt a lot like Hildon, but if you really really wanted 
your app to behave and work 100% as the native apps did, you had to use 
Gtk/Hildon.

If you want your Sailfish OS app to look like a Sailfish OS app, you 
have to use Silica and QML. There's no way around that. If you're doing 
games, this doesn't apply, as you don't need the native look'n'feel in 
games.

Oh, and QML renders *much faster* than both Hildon and Qt Widgets on the 
N900 too, if you want a direct comparison:

http://thpmaemo.blogspot.com/2010/12/hildon-ui-elements-in-qml.html
https://gitorious.org/hildon-qml/demo

And that was only QtQuick 1 (Qt 4-based) and non-fullscreen, composited 
rendering (see the title bar there). If you were to do Qt 5 / QtQuick 2 
in a (non-redirected) fullscreen window on the N900, that'd be even 
quicker (sic).

But yeah, N900. 2010. Good times. Distant past. It's 2014 now, QML was 
/already/ better than QWidgets four (4!) years ago - and you still want 
to create a new project for a mobile platform using Qt Widgets? Protip: 
Don't.

> Of course I understand that the resources of Jolla are limited and
> that priorities are somewhere else. 

Qt Widgets would still not be a good idea for Sailfish OS, even if 
resources were unlimited. Simply because it is just *worse* than QML for 
doing mobile user interfaces.


HTH :)
Thomas


More information about the Devel mailing list