Articles

QML Applications / Qt 5.15

QML ist eine deklarative Sprache, mit der Benutzeroberflächen in Bezug auf ihre visuellen Komponenten und ihre Interaktion und Beziehung zueinander beschrieben werden können. Es handelt sich um eine gut lesbare Sprache, die entwickelt wurde, um Komponenten dynamisch miteinander zu verbinden und Komponenten innerhalb einer Benutzeroberfläche einfach wiederzuverwenden und anzupassen. Mit dem Modul QtQuick können Designer und Entwickler problemlos flüssige animierte Benutzeroberflächen in QML erstellen und haben die Möglichkeit, diese Benutzeroberflächen mit beliebigen Back-End-C ++ – Bibliotheken zu verbinden.

Was ist QML?

QML ist eine Benutzerschnittstellenspezifikation und Programmiersprache. Es ermöglicht Entwicklern und Designern gleichermaßen, hochperformante, flüssig animierte und visuell ansprechende Anwendungen zu erstellen. QML bietet eine gut lesbare, deklarative, JSON-ähnliche Syntax mit Unterstützung für imperative JavaScript-Ausdrücke in Kombination mit dynamischen Eigenschaftenbindungen.

Die QML-Sprache und Engine-Infrastruktur wird vom Qt QML-Modul bereitgestellt. Ausführliche Informationen zur QML-Sprache finden Sie in der Qt QML-Moduldokumentation.

Die folgenden Seiten enthalten weitere Informationen zu QML:

  • Erste Schritte mit QML – Beginnen Sie mit QML mit diesen Beispielen
  • Qt Quick-Projekte in Qt Creator erstellen
  • Die QML-Referenz – Referenz zu den QML-Konstrukten und -Funktionen
  • QML-Codierungskonventionen
  • Glossar der QML-Begriffe

Was ist Qt Quick?

Qt Quick ist die Standardbibliothek von Typen und Funktionen für QML. Es umfasst visuelle Typen, interaktive Typen, Animationen, Modelle und Ansichten, Partikeleffekte und Shader-Effekte. Ein QML-Anwendungsentwickler kann mit einer einzigen Importanweisung auf all diese Funktionen zugreifen.

Die QtQuick QML-Bibliothek wird vom Qt Quick-Modul bereitgestellt. Ausführliche Informationen zu den verschiedenen QML-Typen und anderen von Qt Quick bereitgestellten Funktionen finden Sie in der Qt Quick-Moduldokumentation.

QML-Benutzeroberflächen

Zum Erstellen oder Anpassen grafischer Benutzeroberflächen fügt Qt Quick zusätzlich zu den Standard-QML-Typen von Qt QML visuelle Typen, Animationstypen und andere QML-Typen hinzu. Qt Quick Designer ist in Qt Creator integriert und unterstützt QtQuick 2 ab Qt Creator Version 2.7.

  • Visuelle Typen in QML
  • Auf Benutzereingaben in QML reagieren
  • Animationen in QML
  • Text in QML anzeigen
  • Layouts in QML
  • Stil- und Themenunterstützung
  • JavaScript in QML integrieren
  • Skalierbarkeit

Schaltflächen, Menüs und andere Steuerelemente

Für eine Reihe grundlegender UI-Steuerelemente, das Qt Quick Controls-Modul implementiert mehrere Steuerelemente wie Schaltflächen, Menüs und Ansichten. Diese Steuerelemente verfügen über mehrere integrierte Stile, die verwendet werden können, und unterstützen auch die Erstellung benutzerdefinierter Stile.

  • Qt Quick Controls Guidelines
  • Qt Quick Templates 2

Spezialeffekte

Mehrere Qt-Module bieten Typen zum Erstellen von Spezialeffekten in Anwendungen. Ihre jeweiligen Seiten enthalten weitere Informationen zu bestimmten Verwendungszwecken.

  • Partikeleffekte
  • Grafische Effekte – zum Erstellen von Bildkompositionseffekten.

Anzeigen von Webinhalten in QML-Anwendungen

Die QML-Typen WebEngineView und WebView rendern und zeigen dynamische Webinhalte an. Der einzige Unterschied zwischen den beiden besteht darin, dass letztere eine native Webansicht verwendet, falls verfügbar. Beide Typen können eine URL oder eine HTML-Zeichenfolge laden. Weitere Informationen dazu und zum Anzeigen von Codebeispielen finden Sie unter Qt WebEngine und Qt WebView.

Sensoren, Gesten und Touch-Interfaces

Mit dem Modul Qt Sensors können Anwendungen Informationen von Sensoren wie Beschleunigungs- und Neigungssensoren lesen. Es gibt eine gemeinsame QML-API für verschiedene Plattformen und kann in C ++ erweitert werden.

  • Qt Sensors QML-Typen
  • Qt Sensors-Beispiele
  • Kompatibilitätskarte – listet die Unterstützungsstufe für verschiedene mobile Plattformen auf

Multimedia-Inhalte

Mit dem Qt Multimedia-Modul können Anwendungen verschiedene Medieninhalte mit einem praktischen Satz von QML-Typen verarbeiten. Diese QML-Typen können in C ++ erweitert werden.

  • Multimedia
    • Audio Übersicht
    • Video Übersicht
    • Kamera Übersicht
    • Radio Übersicht
    • Qt Audio Engine-für 3D positions audio wiedergabe und content management.

Mobile Geräte

Mehrere Qt-Module bieten QML-APIs für vernetzte und mobile Geräte. Die QML-Typen bieten Zugriff auf Bluetooth-, Near Field Communications (NFC)- und GPS-fähige Geräte.

  • Qt Positioning
  • Qt Location
  • Qt Bluetooth
  • Qt NFC

Weitere Informationen finden Sie auf den Seiten Networking and Connectivity und Mobile APIs.

Codebeispiele und Demos

Um mehr über die Verwendung von QML-Code zu erfahren, gibt es mehrere Codebeispiele, die zeigen, wie QML-Typen verwendet werden. Darüber hinaus gibt es mehrere Demos, die zeigen, wie QML-Code in Anwendungen verwendet wird.

  • Erste Schritte mit Qt Quick – ein Tutorial, das die Erstellung eines einfachen QML-Texteditors zeigt.
  • Qt Quick Beispiele und Tutorials

Erweiterte Anwendungsentwicklungsthemen

  • Integration von QML und C++
  • Bereitstellen von QML-Anwendungen
  • Best Practices für QML und Qt Quick
  • Leistungsüberlegungen und -vorschläge
  • Internationalisierung und Lokalisierung
  • Testen und Debuggen
    • Prototyping mit qmlscene
    • Debuggen von QML-Anwendungen
    • Qt-Schnelltest: QML Unit Testing Framework

Andere QML-Module

Qt Quick bietet nur grundlegende visuelle Typen, und ein Großteil der Qt-Funktionalität wird QML über andere Module zur Verfügung gestellt. Wenn Sie die Funktionalität dieser Module benötigen, sollten Sie deren QML-Dokumentation durchsuchen.

Die Alle QML-APIs nach Modul enthält eine Liste aller QML-Module in Qt 5.

  • Portierung von QML-Anwendungen auf Qt 5