Evgenii Legotckoi
Evgenii Legotckoi24. November 2017 03:27

Sind Sie bereit für Qt Quick Controls 2.3?

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.
Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Stabiles Hosting des sozialen Netzwerks EVILEG. Wir empfehlen VDS-Hosting für Django-Projekte.

Magst du es? In sozialen Netzwerken teilen!

BlinCT
  • 24. November 2017 04:05

Интересные нововведения связанных с меню и его представления.

Kommentare

Nur autorisierte Benutzer können Kommentare posten.
Bitte Anmelden oder Registrieren
Letzte Kommentare
ИМ
Игорь Максимов5. Oktober 2024 07:51
Django – Lektion 064. So schreiben Sie eine Python-Markdown-Erweiterung Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
d
dblas55. Juli 2024 11:02
QML - Lektion 016. SQLite-Datenbank und das Arbeiten damit in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
k
kmssr8. Februar 2024 18:43
Qt Linux - Lektion 001. Autorun Qt-Anwendung unter Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
Qt WinAPI - Lektion 007. Arbeiten mit ICMP-Ping in Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
EVA
EVA25. Dezember 2023 10:30
Boost - statisches Verknüpfen im CMake-Projekt unter Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…
Jetzt im Forum diskutieren
J
JacobFib17. Oktober 2024 03:27
добавить qlineseries в функции Пользователь может получить любые разъяснения по интересующим вопросам, касающимся обработки его персональных данных, обратившись к Оператору с помощью электронной почты https://topdecorpro.ru…
JW
Jhon Wick1. Oktober 2024 15:52
Indian Food Restaurant In Columbus OH| Layla’s Kitchen Indian Restaurant If you're looking for a truly authentic https://www.laylaskitchenrestaurantohio.com/ , Layla’s Kitchen Indian Restaurant is your go-to destination. Located at 6152 Cleveland Ave, Colu…
КГ
Кирилл Гусарев27. September 2024 09:09
Не запускается программа на Qt: точка входа в процедуру не найдена в библиотеке DLL Написал программу на C++ Qt в Qt Creator, сбилдил Release с помощью MinGW 64-bit, бинарнику напихал dll-ки с помощью windeployqt.exe. При попытке запуска моей сбилженной программы выдаёт три оши…
F
Fynjy22. Juli 2024 04:15
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …

Folgen Sie uns in sozialen Netzwerken