Qt Mobile SDK 1.0 (beta) - Hello World

2010-05-01 15:25


Nokia hat ja in dieser Woche ein SDK für die mobile Entwicklung vorgestellt, zur Zeit ist es noch Beta. In diesem Blogbeitrag möchte ich über meine Erfahungen bei der Installation und einem ersten HelloWorld Programm im Simulator schreiben.

Qt Mobile beta SDK 1.0


Nokia hat mit dem Qt Mobile SDK nun alles was man für die mobile Entwicklung in Qt benötigt in einen Installer verpackt. Das ist eine wesentliche Verbesserung, da man nun nicht mehr 6 einzelne Programme herunterladen und Installieren muss. Auch enthält das SDK einen ersten Release von Qt Mobility, Qt selber wird in der Version 4.6.2 ausgeliefert. Das SDK wird dadurch natürlich auch recht groß, für Windows sind es 820 MB, für Linux etwas weniger (ca. 500 MB). Es gibt allerdings auch jeweils einen WebInstaller, ebenfalls gibt Nokia an, das zukünftige Updates für das SDK über das Netz kommen. Der im Paket enthaltene QtCreator dient als zentrale IDE für das Erstellen der Programme, und scheint auch einen Updatefunktionalität zu haben. Downloaden kann man alles hier.

Installation

Ich habe gestern Abend also das SDK für Windows heruntergeladen und installiert. Allerdings verwendete ich nicht den WebInstaller, sondern lud direkt das gesamt Paket herunter. Die Installation verlief recht reibungslos, abgesehen von einer Meldung, das das Setup nicht den Windows Logo Test bestanden hätte. Das aber liegt wohl am Betastatus. Auch erkannte mein AntiVir eines der Mitgelieferten Programme als Trojaner/Downloader:

In der Datei 'C:\NokiaQtSDK\Maemo\4.6.2\madlib\utfs-server.exe'
wurde ein Virus oder unerwünschtes Programm 'TR/Downloader.Gen' [trojan] gefunden.

Die Installation wurde trotzdem erfolgreich beendet.

HelloWorld

Nach der erfolgreichen Installation, wollte ich nun ein erstes kleines HelloWorld im Simulator ausführen. Dafür erstellt man im Qt Creator einfach ein neues Projekt und wählt "Mobile Qt Application" aus, später kann man dann noch verschiedene Plattformen auswählen:


tl_files/codenode/qtmobilesdk/qt_creator_new_project.png tl_files/codenode/qtmobilesdk/qt_creator_new_project_mobile.png
Erstellen eines neuen Projektes Auswählen der verschiedenen mobilen Plattformen

Nach 2 weiteren Dialogen hat man dann ein erstes Projekt im Qt Creator. Mit dem UI Designer kann man dann auch schnell ein erstes HelloWorld zusammenklicken. Ich entschied mich für ein einfaches Programm, welches aus einem ListWidget, einem LineEdit und einem Button bestand, so das man durch das Klicken des Buttons den Text des LineEdits als Eintrag in das ListWidget einfügen kann. Den einzigen Code den ich hierbei ergänzen musste, war das Einfügen in das ListWidget, welches mittels addItem geschieht. Danach konnte ich dann sofort das Programm nicht compilieren.
Denn, unter Windows scheint die Defaulteinstellung für MS Compiler zu gelten, und nicht für den mitgelieferten MinGW 4.4. Evtl. ist dies auch nur, weil ich MS Visual Studio 2005 Professional installiert habe, auf jeden fall ist dies der Defaultcompiler im Projekt.  Nach dem ich dies unter dem Reiter Projekte umgestellt hatte, compilierte es sofort. Allerdings muss ich hier anmerken, das ich bereits MinGW 4.4 von einer Vorinstallation im PATH habe, so dass es evtl. auch nur deshalb sofort funktionierte.

Im Simulator sieht das HelloWorld dann so aus:

tl_files/codenode/qtmobilesdk/qt_nokia_n900_sim.png



Der Simulator ist überhaupt sehr interessant, und wäre wohl einen eigenen Artikel wert. Er läuft als eigenständiges Programm und verfügt neben dem obigen "Device Fenster" noch über ein Einstellungsfenster, wo man den Device auch drehen sowie zoomen kann. Ebenfalls sind viele weitere Einstellmöglichkeiten gegeben:


tl_files/codenode/qtmobilesdk/qt_nokia_simulator.png

tl_files/codenode/qtmobilesdk/qt_nokia_n900_sim_v.png tl_files/codenode/qtmobilesdk/qt_nokia_n900_sim_symbian_v.png
Das Eigenschaftsfenster des Simulators Das N900 im Simulator, hochkant Das Helloworld Program im Symbian Simulator, die Tasten sind bedienbar.

Der aufmerksame Leser hat sicher festgestellt, das ich anfangs ein anderes Program als HelloWorld beschrieben habe, als jetzt in den Screenshots zu sehen ist. Der Delete Button ist neu. Normalerweise würde ich das wohl garnicht erwähnen, wenn es da nicht ein Problem gegeben hätte. Ich habe diesen Button nämlich erst heute morgen eingebaut. Aber das wollte erstmal überhaupt nicht, denn im Simulator war immer noch die alte UI zu sehen. Ich konnte machen was ich wollte, aber der neue SLOT und Button kam einfach nicht im Simulator an. Zwar wurde das Programm neu compiliert, und auch Änderungen konnte ich im Simulator bemerken, aber die UI schien wie eingefroren auf dem Stand von gestern Abend.  Clean All und Rebuild All finden sich unter dem Build Menu, halfen aber auch nichts. Sehr komisch. Auch das Löschen der Dateien im Simulator Verzeichnis half nichts. Im Simulator Verzeichnis fand sich sogar eine ui_mainwindow.h mit den Änderungen. Aber offensichtlich wurde die im eigentlichen Projektverzeichnis liegende ui_mainwindow.h verwendet, welche nicht geupdatet wurde. Diese wurde erst wieder korrekt erstellt, nach dem ich sie gelöscht/umbenannt hatte. Und auch erst dann, kamen die Änderungen im Simulator wieder an.

Fazit


Alles in allem macht das ganze SDK bisher einen runden Eindruck, da könnte Nokia evtl. wirklich ein großer Wurf gelingen, denn momentan merkt man an einigen Stellen den Betacharakter des SDKs noch. Aber bisher habe ich nur kleinere Kinderkrankheiten bemerkt, welche Beta typisch sind. Der Qt Creator 2.0 ist wirklich eine gute IDE, und wird wohl auch bald anderen IDEs Konkurrenz machen. Für die Mobile Entwicklung jedenfalls ist das SDK ein großer Gewinn, nicht nur für Qt und Nokia.


Zurück