[SailfishDevel] Python and Qt Widgets development possible?

christopher.lamb at thurweb.ch christopher.lamb at thurweb.ch
Sun Jan 26 13:09:36 UTC 2014


Hi Dietmar

Zitat von "Dietmar Schwertberger" <maillist at schwertberger.de>:

>
> Switching to QML/Qt Quick seems a major effort and especially, it is  
> very un-pythonic to use this mixture of two languages.

There is only one language here, QML, which is an extension of javascript.
Qt Quick is a set of components used by QML. This component set is  
further extended by the Sailfish Silica component set.

I did not find QML itself that hard to learn, and there are lots of  
examples and tutorials on the interweb.

The mix of 2 languages comes when need to do some heavy-lifting and  
have to fall back to C++. Having said that C++ and QML are well  
integrated.

Zitat von "Dietmar Schwertberger" <maillist at schwertberger.de>:

>
> ...there's quite some effort to stay compatible over
> multiple platforms ....

You have hit the nail on the head. Multiplatform coding is not easy,  
especially if you want to keep native interaction, and look and feel.  
We know that Sailfish is quite a bit different from any other  
platform. Multi-platform is not impossible, but it does involve  
compromises.

I have been working for some while to port a Harmattan app to  
Sailfish. For the most part I have got it working, but not without  
some obstacles. Off the top of my head (and without going into  
detail), here is a list of differences I found between these 2 platforms

1) Qt Version  4.7.4 --> 5.x

2) QtQuick version 1.0 --> 2.0

3) Mobility 1.2 --> Qt 5.0 equivalents

4) Project Template Files C++ main function, Pro file

5) Project structure

6) Sailfish look and feel, user interaction

7) Sailfish Specials: e.g Cover

8) Missing QML Components / Extra Components,

9) Component Property differences

10) Library differences inc. Bugs

11) Niggly Technical Stuff

11.1) How a javascript file imports a second javascript file

11.2) Location of LocalStorage DB

12) Harbour rules (somethings are technically possible, but not  
allowed to be harbour compliant)

13) etc ....

Grüsse

Chris



More information about the Devel mailing list