giovedì 3 gennaio 2013

Hello World in QML

E' di oggi la notizia dell'uscita di Ubuntu for Phones e devo ammettere che la cosa mi incuriosisce soprattutto per l'SDK che inizia a venire distribuito

Il linguaggio di programmazione previsto per Ubuntu for Phones e' QML (Qt Modelling Language) che e' incluso nell'SDK di Qt

Con l'occasione mi sono scaricato anche l'ambiente di sviluppo delle Qt 5.0 Beta 2

Ho deciso quindi di fare qualche prova iniziando dal classico Hello World

Per prima cosa si deve creare un nuovo progetto dentro QtCreator selezionando QtQuick 2 UI (per usare le Qt 5.0) e si accede quindi alla finestra di programmazione che e' divisa come al solito in un editor ed in una interfaccia visuale

Editor del codice

Editor della parte visuale
e si inizia subito con un bug; infatti aprendo l'editor visual e dichiarando l'uso di QtQuick 2.0 (la versione legata a Qt 5.0) viene presentato un errore non risolvibile


Scriviamo un po' di codice..il programma mostra semplicemente la scritta Hello World quando si clicca sul pulsante rosso
------------------------------------------------------------

import QtQuick 1.0

Rectangle {
    width: 160; height: 160

    Rectangle {
            id: redSquare
            width: 80; height: 80
            anchors.top: parent.top; anchors.margins: 10; anchors.horizontalCenter: parent.horizontalCenter
            color: "red"

            Text { text: "Click Me"; font.pixelSize: 16; anchors.centerIn: parent }

            MouseArea {
                anchors.fill: parent
                acceptedButtons: Qt.AllButtons
                onPressed: {
                    hello.text = 'Hello World'
               }
                onReleased: {
                    hello.text = ''
               }
            }
        }


    Text {
        id: hello
        anchors.bottom: parent.bottom; anchors.horizontalCenter: parent.horizontalCenter; anchors.margins: 20
        text: ""
    }

}




------------------------------------------------------------


Ok tutto funziona ma.......c'e' un problemino. Per sviluppare sotto Ubuntu for Phones e' necessario importare la seguente libreria


import Ubuntu.Components 0.1

in conclusione si puo' sviluppare praticamente solo usando il sistema operativo Ubuntu (o meglio Ubuntu ToolKit)  e non impiegando il generico SDK di Qt (e di solito io non uso Ubuntu)