Pour le desktop aussi
Jusqu’à présent, la majorité du contenu des QML Components était orienté vers le mobile ; cependant, il reste quand même bien utilisable sur desktop, la preuve en vidéo :
Ou en image :
QML est l’objet d’attention toute particulière depuis un certain temps. On voulait voir si l’on pouvait apporter le côté fun de Qt Quick sur le bon vieux desktop. C’est vrai qu’on peut facilement faire ses propres widgets avec Qt Quick, mais tout le monde n’en a pas forcément envie.
Après avoir passé un peu de temps à développer les styles GTK+ et Vista de Qt, l’auteur a aussi voulu prouver qu’on pouvait utiliser ses efforts dans le nouveau monde de Qt Quick. Au final, une série de widgets écrits depuis zéro en QML. L’API est en grande partie alignée avec les efforts des SDK mobiles, mais avec quelques widgets spécifiques au desktop, comme ScrollBar, ScrollArea et TabFrame. On peut, par exemple, écrire du code comme ceci :
id: button
text: "Push me"
onClicked: button.text = "Pressed"
}
Pour en bénéficier, il suffit d’utiliser Qt 4.7.2 et de compiler ce qu’il faut depuis le repository Git : http://qt.gitorious.org/qt-components/desktop.
Barres d’outils sous OS X
Sur les plateformes desktop, il reste aussi pas mal de voies à explorer spécifiquement pour une plateforme, comme sur OS X.
La différence avec l’actuel, c’est qu’on utilise le widget natif NSToolBar au lieu de QToolBar, mais surtout que c’est fait en QML :
MacToolButton {
text : "Button 1"
iconSource : "images/qtlogo.png"
toolTip : "This is button number 1"
onActivated : status.text = "Button1 Clicked"
}
MacToolButton { standardItem : MacToolButton.ShowColors }
MacToolButton { standardItem : MacToolButton.Space }
}
Le code est disponible dans la branche Mac : http://qt.gitorious.org/qt-components/desktop.
Technology Preview pour Symbian
Le projet QML Components, on vient de le voir, s’oriente aussi pour le desktop, même s’il est principalement prévu pour les plateformes mobiles. En l’atteste la TP de ce mois pour Symbian. Une vingtaine de composants sont d’ores et déjà disponibles pour cette plateforme.
Le point important du projet est son API : elle est prévue pour être commune à toutes les plateformes supportées, ne nécessitant donc pas de réécriture de code pour porter une application de Symbian à MeeGo, par exemple.
Cependant, cela ne permet pas forcément de s’assurer de la richesse des API, étant donné qu’une bonne partie doit être spécifique à la plateforme ; ces composants seront ainsi préfixés en ce sens.
Les installeurs sont d’ores et déjà disponibles : http://developer.qt.nokia.com/prereleases pour le Qt SDK, nécessaire à ce projet, http://get.qt.nokia.com/qt/symbian/qtcomponents/1.0-tp1/qtquick-components-for-symbian-win-1.0-tp1.exe pour Windows et http://get.qt.nokia.com/qt/symbian/qtcomponents/1.0-tp1/qtquick-components-for-symbian-src-1.0-tp1.tar.gz pour les autres plateformes de développement en vue d’un déploiement sur Symbian.
Sources : http://labs.qt.nokia.com/2011/03/10/qml-components-for-desktop/, http://labs.qt.nokia.com/2011/04/08/mac-toolbars-for-qt-quick/, http://labs.qt.nokia.com/2011/04/08/qt-quick-components-for-symbian-technology-preview/