Mit der Veröffentlichung von Qt 5.10 wird Qt Quick Controls 2.3 verfügbar sein.
Neue Funktionalität in Qt Quick Controls 2.3:
- Neue Stile
- Menü und Aktionen (Aktionen)
- Paletten
Neue Stile
Zwei neue Stile wurden eingeführt: Fusion und Imagine . Der Fusion-Stil kommt denen bekannt vor, die Qt-Widgets verwenden. Dies ist eine QML-basierte Implementierung mit demselben Design.
Der Imagine-Stil basiert auf benutzerdefinierten Bildobjekten und gibt Designern die vollständige Kontrolle darüber, wie der Stil aussieht. Der Stil hat einen Standardsatz von Bildeigenschaften, die aus Sketch exportiert werden.
Menüs und Aktionen
Menüs und Aktionen haben in ihrer Entwicklung einen großen Schritt nach vorne gemacht. Es wurden neue QML-Typen namens MenuBar , Action und ActionGroup , und Menu , die Untermenüs unterstützen. Verschachtelte Menüs sind jetzt wie auf Desktop-Plattformen möglich. Außerdem wurde Unterstützung für Mnemonik und Schaltflächen hinzugefügt.
Die Verwendung ist identisch mit der vorherigen Generation von Qt Quick Controls:
import QtQuick 2.10 import QtQuick.Controls 2.3 ApplicationWindow { id: window width: 500 height: 400 visible: true menuBar: MenuBar { Menu { title: qsTr("&File") Action { text: qsTr("&New...") } Action { text: qsTr("&Open...") } Action { text: qsTr("&Save") } Action { text: qsTr("Save &As...") } MenuSeparator { } Action { text: qsTr("&Quit") } } Menu { title: qsTr("&Edit") Action { text: qsTr("Cu&t") } Action { text: qsTr("&Copy") } Action { text: qsTr("&Paste") } MenuSeparator { } Menu { title: qsTr("&Find/Replace") Action { text: qsTr("Find &Next") } Action { text: qsTr("Find &Previous") } Action { text: qsTr("&Replace...") } } } Menu { title: qsTr("&Help") Action { text: qsTr("&About") } } } }
Dies sind wichtige Schritte, um die Menüfunktionalität von Qt Quick Controls 2 an die herkömmlicher Menüs auf Desktop-Plattformen anzupassen. Auf diese Weise können wir mit den nächsten Schritten beginnen und native Plattformmenüs als Backend für Qt Quick Controls 2-Menüs integrieren.
Paletten
Unterstützung für benutzerdefinierte Paletten hinzugefügt, die derzeit von den Themen Default, Fusion und Imagine unterstützt werden. Andere Themen erhalten später Palettenunterstützung. Der folgende Screenshot zeigt die Palette für das Standarddesign.
Fragen und Antworten:
Was ist mit der TableView?
- Wir haben große Fortschritte mit der neuen TableView gemacht, die auf dem gleichen Elementansichts-Framework von Qt Quick basiert, auf dem ListView und GridView basieren. Die aktuelle Implementierung ist bereits in der Lage, den 2D-Satz sichtbarer Elemente für das aktuelle Ansichtsfenster zu verwalten. Die Leistung ist mit ListView und GridView vergleichbar. Eine große Anzahl von Spalten beeinträchtigt die Leistung nicht, wie in der ListView-basierten TableView in Qt Quick Controls 1. Folgen Sie dem Blogbeitrag zu diesem Problem.
Wann wird das berühmte Problem „Objekt während der Inkubation zerstört“ behoben?
- Wir glauben, dass wir die notwendigen Zutaten für eine dauerhafte Lösung dieses Problems haben. Für die QML-Engine wurde ein Patch vorbereitet, der es ermöglicht, Inline-Delegates zu verzögern, um: a) sie zur Konstruktionszeit durch benutzerdefinierte Delegates zu ersetzen, was keine Probleme für die asynchrone Inkubation verursacht, und b) die Leistung (in Bezug auf die Erstellungszeit ) eines benutzerdefinierten Steuerelements ist unabhängig von integrierten Delegaten. Sobald der erforderliche Patch für die QML-Engine fertig ist, können Sie ihn in Qt Quick Controls 2 verwenden.
Интересные нововведения связанных с меню и его представления.