Evgenii Legotckoi
Evgenii Legotckoi27. Mai 2018 05:46

Qt 5.11 Release

Etwas früher als geplant wurde heute (22. Mai 2018) Qt 5.11 veröffentlicht. Wie immer fügt die neue Version viele neue Funktionen hinzu und behebt viele Fehler aus früheren Versionen. Werfen wir einen Blick auf die interessantesten neuen Funktionen (Features).


Qt Core und Netzwerk

In Qt Core wurde viel an feinen Details gearbeitet. Beispielsweise haben einige der Tool-Klassen neue rbalue-überladbare Argumentreferenzen erhalten, und fehlende Methoden wurden für eine bessere STL-Kompatibilität hinzugefügt. Modellelemente erhielten mehrere neue Funktionen.

In Qt Network unterstützen ALPN und HTTP/2 jetzt iOS. QNetworkRequest hat ein Http2DirectAttribute empfangen, um eine HTTP/2-Verbindung ohne vorherige Aushandlung zu starten.

Eines der größten Updates war die Unicode-Unterstützung in Qt Core. QChar, QString, QTextBoundaryFinder und der Bidi-Algorithmus sind jetzt vollständig kompatibel mit Unicode 10.

Qt-GUI und -Widgets

Viel Aufmerksamkeit wurde in Qt 5.11 dem Zugriffssupport unter Windows geschenkt. Es wurde komplett neu gestaltet und basiert jetzt auf Microsoft UI Automation und nicht mehr auf dem alten Microsoft Active Accessibility-Framework, wodurch die Windows-Barrierefreiheit erheblich verbessert wird. Es wurde auch viel Arbeit in die Verbesserung des Aussehens und Verhaltens von Windows gesteckt, um hochauflösende Displays besser zu unterstützen. Der Druckdialog unter Linux wurde neu gestaltet und zeigt jetzt verbesserte Unterstützung für alle bereitgestellten CUPS-Optionen. Qt Widgets hat zahlreiche Korrekturen erhalten und Unterstützung für die schnelle Textauswahl mit der Maus in QLineEdit erhalten. All dies ist ein gutes Upgrade für alle Benutzer.

Qt-QML

Auch bei der QML-Engine hat es große Veränderungen gegeben. Die Compiler-Pipeline, die QML analysiert und kompiliert, wurde komplett neu geschrieben. Die neue Pipeline brachte Leistungs- und Wartbarkeitsverbesserungen.

Die neue Compiler-Pipeline kompiliert QML immer in plattformunabhängigem Bytecode. Die Engine speichert diesen Bytecode in qmlc-Dateien. Sie können den Bytecode auch vorab mit dem Compiler-Feature qmlcompiler generieren (das jetzt auch in der Open-Source-Version verfügbar ist).

Der neue Bytecode-Interpreter hat die Leistung gegenüber der alten Version stark verbessert. Testaufgaben bestehen in 80-90 % der Zeit von JIT Qt 5.10. Ein neuer JIT-Compiler wurde hinzugefügt, der deutlich besser ist als die alte Version.

Qt Quick und Qt Quick-Steuerung

Qt Quick bietet erweiterte Unterstützung für das Laden komprimierter Texturen in Bildelemente und erweiterte Unterstützung für die Formate .ktx und .pkm. Diese Funktion trägt dazu bei, die Ladezeit und den Speicherverbrauch zu reduzieren, indem Snapshots in einem Format gespeichert werden, das direkt an die GPU gesendet wird.

Qt Quick Controls 2 erhielt viele kleine Funktionen und Fehlerbehebungen. Zum Beispiel automatische Rotationseigenschaften für Schaltflächen, verbesserte Bildlaufpositionierung und verbesserte Styling-Unterstützung für SpinBoxes.

Qt-Speicherort

Es gab auch viele Änderungen in Qt Location. Die größten Änderungen beziehen sich auf die experimentelle Unterstützung der Turn-by-Turn-Navigation. Aber es gibt auch andere Änderungen. QtLocation verfügt jetzt über eine experimentelle API zum Erstellen von Kartenobjekten, die nicht an ein QQuickItem gebunden sind. Die Leistung von MapPolyline-Objekten wurde erheblich verbessert, und Ebenen funktionieren jetzt in Verbindung mit Kartenelementen. Darüber hinaus wurde eine erweiterbare Routing- und Positionierungs-API erstellt und neue Wegpunkte hinzugefügt. Schließlich erhielt das MapBox-Plugin Unterstützung für Geokodierung und Positionierung.

Qt-Webengine

Wie es in Qt-Releases zum Standard geworden ist, wurde Chromium unter QtWebengine auf Chromium 65 aktualisiert. Darüber hinaus werden integrierte DevTools jetzt unterstützt, ohne dass ein separater Browser erforderlich ist, ein Cookie-Filter gesetzt und Kontingente zugelassen werden.

Qt für die Geräteentwicklung

Alle oben erwähnten neuen Funktionen sind natürlich auch in Qt verfügbar, um ein Gerät zu erstellen. Darüber hinaus wird daran gearbeitet, einige eingebaute Funktionen zu verbessern.

Eines der neuen Features hier ist die Unterstützung für Hardware-Grafikebenen, die derzeit als Technologievorschau für Plattformen verfügbar sind, die VSP2-Hardware-Compositing unterstützen. Dies kann für Funktionen wie Videounterlagen (nach Ebenen) verwendet werden und hilft, die Leistung zu verbessern und den Stromverbrauch zu senken. Qt Company beabsichtigt auch, die Anzahl der unterstützten Plattformen und Hardwarekombinationen in zukünftigen Versionen zu erweitern.

Qt SerialBus hat eine verbesserte CAN-Bus-Unterstützung erhalten. Das KNX-Modul hat mehrere wichtige Upgrades erhalten. Außerdem wird Qt 5.11 ein neues Modul haben, das Unterstützung für OPC/UA hinzufügt. Dieses Modul ist für die Technologievorschau in Qt 5.11 verfügbar.

Weitere Verbesserungen

qdoc verwendet jetzt libclang für das C++-Parsing, wodurch modernes C++ in der Dokumentation besser unterstützt wird. Qt Serialbus und Bluetooth haben jetzt eine verbesserte Unterstützung für CAN- und BTLE-Busse. Die Unterstützung für einige ältere Compiler und Plattformen wurde aus Qt 5.11 entfernt. MSVC2013, QNX 6.6 und macOS 10.10 werden nicht mehr unterstützt.

Qt 3D und Qt 3D Studio

An der zweiten Version von Qt 3D Studio wird hart gearbeitet. Diese zweite Version enthält eine komplett neu geschriebene Laufzeitumgebung, die auf qt3d basiert. Dies ermöglicht jedem eine bessere und tiefere Integration in den Rest von Qt, wenn er Qt 3D Studio zum Erstellen von 3D-Schnittstellen verwendet. Durch diese Arbeit erhielt Qt 3D auch viele neue Funktionen, Leistungsverbesserungen und Fehlerbehebungen. Qt 3D Studio 2.0 befindet sich derzeit im Beta-Test und die Qt Company arbeitet hart daran, innerhalb der nächsten Wochen eine endgültige Version zu erhalten.

Qt für Webassembly und Python

Mit Qt for Webassembly wird daran gearbeitet, die letzte große Lücke in der plattformübergreifenden Geschichte zu schließen, indem es Benutzern ermöglicht wird, das Web und Browser als Plattform für Qt-Anwendungen auszuwählen. Die erste Version wurde als Technologievorschau veröffentlicht. Darüber hinaus arbeitet Qt Company aktiv an der Unterstützung von Qt in Python. Die erste Veröffentlichung ist für Juni geplant.

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

Magst du es? In sozialen Netzwerken teilen!

Ruslan Polupan
  • 29. Mai 2018 06:04

Здорово.

В связи этим вопрос.
Как наиболее быстро переходить на новые версии Qt?
Кроме удаления старой версии. установки новой, переборки библиотек есть еще варианты?
Evgenii Legotckoi
  • 29. Mai 2018 06:17

Статика что-ли?
Обычно я просто ставил новую версии из Maintenance Tool, добавлял комплект сборки, пересобирал проект, если во время компиляции проблем не было, то удалял старую версию.

А как иначе собственно? ))
Ruslan Polupan
  • 29. Mai 2018 06:25

Статика. Просто с онлайн установкой постоянные проблемы со связью с репозитроиями.

Evgenii Legotckoi
  • 29. Mai 2018 07:15

Пересобирать придётся в любом случае. Вообще, насколько знаю, можно и просто git-репозиторий Qt использовать. Если вышел update, то сделать fetch, переключиться на нужную ветку и пересобрать статику. Думаю, что так вполне можно сделать.

Ruslan Polupan
  • 29. Mai 2018 07:44

Я имел ввиду не статическую сборку а оффлайн инсталятор. Онлайн уж очень часто достает вот таким:
Не удалось загрузить архив «http://download.qt.io/online/qtsdkrepository/linux_x64/desktop/qt5_5110_src_doc_examples/qt.qt5.5110.src/5.11.0-0-201805181208qtactiveqt-everywhere-src-5.11.0.7z»: Error transferring http://master.qt.io/online/qtsdkrepository/linux_x64/desktop/qt5_5110_src_doc_examples/qt.qt5.5110.src/5.11.0-0-201805181208qtactiveqt-everywhere-src-5.11.0.7z - server replied: Not Found

Ruslan Polupan
  • 29. Mai 2018 07:45

Как такие вещи лечить и обходить?

Evgenii Legotckoi
  • 29. Mai 2018 07:50

У меня таких проблем не возникало. Полагаю, что это просто проблемы с доступностью через Интернет. Причём последнее время это характерно для Российских пользователей (ну вы вкурсе благодаря чем и кому).
Тут только зеркала пробовать использовать.

Ruslan Polupan
  • 29. Mai 2018 07:53

Я из Украины. :-)

Попутно вопрос, где настраивается зеркала. Германские зеркала у нас идут на ура.
Evgenii Legotckoi
  • 29. Mai 2018 08:00

Пардон, тогда не знаю, что да как так с доступностью интернета в Украине.

Если запустите Maitenance Tool, то на самом первом шаге внизу слева есть кнопка Settings, там можно настроить репозитории и Proxy, в том числе можно добавлять репозитории. Я сам не проверял, но полагаю, что это может Вам помочь с настройкой зеркал.
Ruslan Polupan
  • 29. Mai 2018 08:10

Как то два дня игрался. толку ноль. скачал оффлайн инсталятор. :-)

Evgenii Legotckoi
  • 29. Mai 2018 08:11

Понятно :-) Тогда не знаю... страну менять)) Я вот в Прагу переехал.

Ruslan Polupan
  • 29. Mai 2018 08:26

Ну раз еще со стороны Qt грабли, то это последняя капля. :-)

Kommentare

Nur autorisierte Benutzer können Kommentare posten.
Bitte Anmelden oder Registrieren
Letzte Kommentare
A
ALO1ZE19. Oktober 2024 08:19
Fb3-Dateileser auf Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Игорь Максимов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> в заголовочном файле не работает валидатор.
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