Glossar der QML-Begriffe
Allgemeine Begriffe
Begriff | Definition |
---|---|
QML | Die Sprache, in der QML-Anwendungen geschrieben werden. Die Spracharchitektur und die Engine werden durch das Qt QML-Modul implementiert. |
Qt Quick | Die Standardbibliothek von Typen und Funktionen für die QML-Sprache, die vom Modul Qt Quick bereitgestellt wird und auf die mit "import QtQuick" zugegriffen werden kann. |
Typ | In QML kann sich ein Typ entweder auf einen Wertetyp oder einen QML-Objekttyp beziehen. Die QML-Sprache bietet eine Reihe von eingebauten Werttypen, und das Modul Qt Quick bietet verschiedene Qt Quick types für die Erstellung von QML-Anwendungen. Typen können auch von Drittentwicklern durch(Module) oder vom Anwendungsentwickler in der Anwendung selbst durch QML-Dokumente bereitgestellt werden. Weitere Einzelheiten finden Sie unter Das QML-Typensystem. |
Wert-Typ | Ein Wertetyp ist ein einfacher Typ wie int , string und bool . Im Gegensatz zu Objekttypen kann ein Objekt nicht aus einem Wertetyp instanziiert werden; es ist zum Beispiel nicht möglich, ein int Objekt mit Eigenschaften, Methoden, Signalen usw. zu erstellen.Sowohl Wertetypen als auch Objekttypen gehören normalerweise zu einem QML-Modul. Um sie zu verwenden, müssen Sie das Modul importieren. Einige Typen sind in die Sprache eingebaut, zum Beispiel int, bool, double, string, aber auch QtObject und Component. Siehe Das QML-Typensystem für weitere Details. |
Objekttyp | Ein QML-Objekttyp ist ein Typ, der von der QML-Engine instanziiert werden kann. Ein QML-Typ kann entweder durch ein Dokument in einer .qml-Datei definiert werden, die mit einem Großbuchstaben beginnt, oder durch eine QObject-basierte C++-Klasse. Weitere Einzelheiten finden Sie unter Das QML-Typsystem. |
Objekt | Ein QML-Objekt ist eine Instanz eines QML-Objekttyps. Solche Objekte werden von der Engine erstellt, wenn sie Objektdeklarationen verarbeitet, die die zu erstellenden Objekte und die für jedes Objekt zu definierenden Attribute angeben. Zusätzlich können Objekte dynamisch zur Laufzeit durch Component.createObject() und Qt.createQmlObject() erstellt werden. Siehe auch Lazy Instantiation. |
Komponente | Eine Komponente ist eine Vorlage, aus der ein QML-Objekt oder ein Objektbaum erstellt wird. Sie wird erzeugt, wenn ein Dokument von der QML-Engine geladen wird. Nach dem Laden kann sie zur Instanziierung des von ihr repräsentierten Objekts oder Objektbaums verwendet werden. Außerdem ist der Typ Component ein spezieller Typ, der verwendet werden kann, um eine Komponente inline in einem Dokument zu deklarieren. Komponentenobjekte können auch dynamisch über Qt.createComponent() erstellt werden, um dynamisch QML-Objekte zu erzeugen. |
Dokument | Ein QML-Dokument ist ein in sich geschlossenes Stück QML-Quellcode, das mit einer oder mehreren Import-Anweisungen beginnt und eine einzige Top-Level-Objektdeklaration enthält. Ein Dokument kann in einer .qml-Datei oder in einem Text-String enthalten sein. Wenn es sich in einer .qml-Datei befindet, deren Name mit einem Großbuchstaben beginnt, wird die Datei von der Engine als Definition eines QML-Typs erkannt. Die Top-Level-Objektdeklaration kapselt den Objektbaum, der durch den Typ instanziiert werden soll. |
Eigenschaft | Eine Eigenschaft ist ein Attribut eines Objekttyps, das einen Namen und einen zugehörigen Wert hat; dieser Wert kann von außen gelesen (und in den meisten Fällen auch geschrieben) werden. Ein Objekt kann eine oder mehrere Eigenschaften haben. Einige Eigenschaften sind mit dem Canvas verbunden (z. B. x, y, Breite, Höhe und Deckkraft), während andere typspezifische Daten sein können (z. B. die Eigenschaft "Text" des Typs Text ). Siehe QML-Objektattribute für weitere Einzelheiten. |
Bindung | Eine Bindung ist ein JavaScript-Ausdruck, der an eine Eigenschaft "gebunden" ist. Der Wert der Eigenschaft zu einem beliebigen Zeitpunkt ist der Wert, der durch die Auswertung dieses Ausdrucks zurückgegeben wird. Weitere Informationen finden Sie unter Property Binding. |
Signal | Ein Signal ist eine Benachrichtigung durch ein QML-Objekt. Wenn ein Objekt ein Signal aussendet, können andere Objekte dieses Signal über einen Signalhandler empfangen und verarbeiten. Die meisten Eigenschaften von QML-Objekten haben ein Änderungssignal und auch einen zugehörigen Änderungssignal-Handler, der von Clients definiert werden kann, um Funktionalität zu implementieren. Zum Beispiel könnte der "onClicked()"-Handler einer Instanz des Typs MouseArea in einer Anwendung definiert werden, um die Wiedergabe eines Tons zu veranlassen. Siehe Signal- und Handler-Ereignissystem für weitere Details. |
Signal-Handler | Ein Signal-Handler ist der Ausdruck (oder die Funktion), die durch ein Signal ausgelöst wird. Er wird in C++ auch als "Slot" bezeichnet. Siehe Signal- und Handler-Ereignissystem für weitere Einzelheiten. |
Faule Instanziierung | Objektinstanzen können zur Laufzeit "träge" instanziiert werden, um unnötige Arbeit zu vermeiden, bis sie benötigt wird. Qt Quick bietet den Typ Loader, um die träge Instanziierung zu vereinfachen. |
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.