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.
Unser einfacher Bildschirm mit einem Label ist nur eine Textbox. Es gibt keine TextBox in QML. Wir brauchen 2 Objekte: Rectangle und Text.
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.