Oggi vediamo come possiamo chiudere una finestra con il tasto ESC in QML.

La cosa la trovo molto comoda nelle finestre "secondarie", quelle lanciate da altre finestre "principali"; non lo userei per chiudere il programma in se (ma questo vale per qualsiasi linguaggio).

Per fare questo, dobbiamo intercettare la pressione del tasto usando Keys.onEscapePressed.

Ma attenzione a non mettere questo a livello di Window; va messo a livello di Item o Rectangle.

In questo articolo avevamo visto come riempire una ListVew con dati in formato JSON.

Oggi piccolo tip: vogliamo impostare i le righe con colori alternati.

La cosa in verità è molto semplice, e basta impostare il parametro color all'oggetto Rectangle interno.

Oggi vediamo come riempire una ListView in QML prendendo i dati in formato JSON dal web.

Per prendere i dati useremo Javascript e AJAX.

Questa è una delle cose che mi piace di più di QML: usare Javascript in una app per desktop!

Prima di tutto vediamo il file main.qml, dove c'è tutta la parte grafica:

import QtQuick 2.0
import QtQuick.Controls 1.0
import "script.js" as Script

ApplicationWindow {
    id: mainWindow
    title: "App"
    visible: true
    width: 600
    height: 600

    Component.onCompleted: Script.load()

    ListModel { id: listModelJson }

    Rectangle {
        height: parent.height
        width: parent.width
        ListView {
            id: listViewJson
            x: 0
            y: 0
            width: 600
            height: 592
            delegate: Rectangle {
                width: parent.width
                height: 70
            }
            model: listModelJson
        }
    }
}

Come vedete tra gli import c'è anche il nostro file Javascript (che dopo andremo a creare).

QML consente di scrivere applicazioni Qt usando un linguaggio simile a Javascript, misto alle classi C++ del framework.

Molto interessante, soprattutto per chi conosce bene Javascript.

Oggi vediamo come usare il componente MenuBar in una applicazione Qt Quick.

Una volta creato un progetto Qt Quick Application con Qt Creator, ci ritroviamo il file main.qml con un oggetto Rectangle.

Per usare le MenuBar dobbiamo però passare a ApplicationWindow, e questo comporta qualche modifica al progetto iniziale.