qml

Mattepuffo's logo
QML ListView da JSON

QML ListView da JSON

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).

Mattepuffo's logo
Software multipiattaforma. Una breve panoramica sulle tecnologie da usare

Software multipiattaforma. Una breve panoramica sulle tecnologie da usare

Sono un pò di anni che ormai programmo, ma non finisco mai di stupirmi su quello che scopro di nuovo!

Ho fatto diversi programmi per desktop, e cerco sempre di farli il più flessibili e aperti possibile, in modo da renderli usabili su più sistemi operativi (anche perchè io stesso uso sia Linux che Windows che Mac OS X).

Voglio fare una breve panoramica, riferendomi ovviamente alle mie esperienze (e sperando di non saprare troppe cavolate wink).

Prima di tutto facciamo una breve lista:

  • Java (o uno dei suoi derivati che necessitano di una JVM)
  • Python
  • Mono (C# e VB.NET)
  • Qt / QML

Partiamo dal primo.

JAVA

Questo linguaggio nasce proprio con l'intento di creare programmi multi-piattaforma.

L'unica cosa richiesta è la presenza della JVM (Java Virtual Machine), e qualche aggiustamento grafico, soprattutto in ambito Mac.

I contro sono la maggior pesantezza del software (dovuto proprio alla JVM, anche se la situazione è sicuramente migliorata) e il peso degli anni che inizia a sentire il linguaggio, soprattutto verso il C# (considerando la somiglianza tra i due e sperando ovviamente in Java 8).

Rimane comunque un'ottima alternativa, se non la prima in certi casi, guardando però anche ai vari linguaggi nati su questo (vedi Scala ad esempio, con le dovute differenze).

Mattepuffo's logo
Usare le MenuBar in QML

Usare le MenuBar in QML

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.