d1_plugin_component.qml

Das war viel Theorie, ich weiß. Aber ich denke, wir haben jetzt genug von der QML-Struktur behandelt, dass der Rest viel schneller gehen wird.

Schauen wir uns den Plugin-Code an, der vom pluginLoader geladen wird.

Er ist ziemlich einfach. Nur ein einfacher Bildschirm mit einem Label, der sich auf den Bildschirm ausdehnt.

< ... Imports ...>

Rectangle {
    id: pluginFrame
    anchors.fill: parent
    color: PluginTheme.vanilla
    Text {
        text: "Vegetation Monitoring: Plugin Component"
        color: PluginTheme.green
        font.pixelSize: 20
        horizontalAlignment: Text.AlignHCenter             
        anchors.centerIn: parent
    }
    Component.onCompleted: {
        iface.logMessage("d1_plugin_component.qml loaded")
    }
}

Hier haben Sie kein Item, sondern ein Rectangle, das ein Item ist, genau wie ein QtFrame ein QtWidget ist.

Demo 1 Component Objekte

Eine QML-Textbox

Unser einfacher Bildschirm mit einem Label ist nur eine Textbox. Es gibt keine TextBox in QML. Wir brauchen 2 Objekte: Rectangle und Text.

Verwendung von PluginTheme

Wir haben in Plugin-Struktur die Definition von PluginTheme als Konfigurationsobjekt besprochen, das unsere Farbpalette enthält. In d1_plugin_component sehen Sie, dass die Farbe des Rectangle auf PluginTheme.vanilla gesetzt ist und die Farbe des Text auf PluginTheme.green. Ganz einfach.