26.02.2014 Aufrufe

LinuxUser Skripten und Coden (Vorschau)

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

QML/​Qt Quick<br />

Schwerpunkt<br />

Wirklich entscheidend für das Element<br />

MouseArea ist die Eigenschaft onClicked:<br />

Hier legen Sie fest, was passiert, sobald<br />

der Anwender in die Fläche klickt. Alternativ<br />

legen Sie mit onReleased fest, was<br />

beim Loslassen der Maustaste passiert.<br />

Im Beispiel macht onReleased nicht<br />

mehr, als ein simples Qt.quit();, beendet<br />

also das Programm.<br />

Ein ebenfalls einfaches Beispiel mit einer<br />

visuellen Rückmeldung könnte darin<br />

bestehen, dass Sie bei einem Mausklick<br />

mit parent.color = "yellow" die Farbe<br />

der umgebenden App ändern 4 . In der<br />

Praxis gehören Mausereignisse zu jenen<br />

Dingen, die auf den echten C++-Code<br />

der Applikation verweisen.<br />

Fazit<br />

Diese Einführung in das wichtigste Werkzeug,<br />

den Qt Creator, sollte Sie befähigen,<br />

einen der vielen guten QML-Workshops<br />

im Netz nachzuvollziehen. Neben<br />

den Tutorien von Nokia wäre der Einsteiger-Workshop<br />

von Peter Bouda û erwähnenswert.<br />

Bouda ist Qt/​KDE-Entwickler,<br />

Trainer, Buchautor <strong>und</strong> entwickelte<br />

in den letzten acht Jahren überwiegend<br />

auf Qt-Basis. Möglicherweise<br />

haben Sie Lust auf mehr, <strong>und</strong> Sie schlagen<br />

die Brücke zu C++, Python oder Javascript.<br />

Bei Letzterem erleichtern Ähnlichkeiten<br />

zu QML den Einstieg. (agr) n<br />

Listing 2<br />

01 // import QtQuick 1.0 // to<br />

target S60 5th Edition or<br />

Maemo 5<br />

02 import QtQuick 1.1<br />

03 Rectangle {<br />

04 width: 360<br />

05 height: 360<br />

06 color:"red"<br />

07 radius: 72<br />

08 Text {<br />

09 color: "#3040b7"<br />

10 text: qsTr("Hello World")<br />

11 font.family: "Ubuntu"<br />

12 font.pointSize: 21<br />

13 anchors.centerIn: parent<br />

14 }<br />

15 MouseArea {<br />

16 anchors.fill: parent<br />

17 onClicked: {<br />

18 Qt.quit();<br />

19 }<br />

20 }<br />

21 }<br />

Weitere Infos <strong>und</strong><br />

interessante Links<br />

www. linux‐user. de/ qr/29075<br />

Die heute führenden Spezialisten stammen oft aus der "Freie Software-Szene" <strong>und</strong> schulen seit<br />

Jahren im Linuxhotel. Das erklärt die Breite <strong>und</strong> Qualität unseres Schulungsangebotes:<br />

AJAX * Amavis * Android * Angriffstechniken * Apache * Asterisk * BaseX * BayesianAnalysis * Bind * C/C++ * Cassandra *<br />

CiviCRM * Cloud * Cluster * ClusterFS * CouchDB * CSS3 * CUPS * Debian * DHCP * DNS * DNSSEC * Echtzeit Linux *<br />

Embedded Linux * eXist-db * Faces * FAI * Firewall * Forensik * FreeBSD * FreeRADIUS * GeoExt * Git * Grails * GRASS *<br />

Groovy * hadoop * Hochverfügbarkeit * HTML5 * Hudson * iSCSI * IPv6 * ITSM * Java * JavaScript * Jenkins * Kernel * KVM<br />

* LDAP * LibreOffice * Linux * LPI * m23 * MacOSX * MapFish * Mapserver * Maven * Mikrocontroller * MVS/380 * MySQL *<br />

Nagios * Node.js * OpenBSD * OpenLayers * OpenOffice * openQRM * OpenVPN * OPSI * OSGi * OTRS * Perl * PHP *<br />

Postfix * PostgreSQL * Puppet * Python * QuantumGIS * R * Rails * RedHat * Routing * Request-Tracker RT * Ruby * Samba<br />

* SAN * Scala * Scribus * Shell * Sicherheit * SNMP * Spacewalk * Spamfilter * SQL * Struts * Subversion * SuSE * TCP/IP *<br />

Tomcat * Treiber * TYPO3 * Ubuntu * UML * Unix * Univention * Virenfilter * Virtualisierung * VoIP * WebGIS * Webservices *<br />

Windows Autoinstall * Windowsintegration * x2go * xen * XML * Xpath * Xquery * z/OS * Zabbix * Zend<br />

Fast 100% der Teilnehmer empfehlen uns weiter. Siehe www.linuxhotel.de<br />

Ja, wir geben es zu <strong>und</strong> haben überhaupt kein schlechtes Gewissen dabei: Unsere Schulungen machen auch Spaß ;-)<br />

06.2013 www.linux-user.de<br />

23

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!