LINUX.ORG.RU

Qt 6.5

 ,


0

2

Компания Qt Company опубликовала релиз фреймворка Qt 6.5, в котором продолжена работа по стабилизации и наращиванию функциональности ветки Qt 6. В Qt 6.5 обеспечена поддержка платформ Windows 10+, macOS 11+, Linux (Ubuntu 20.04, openSUSE 15.4, SUSE 15 SP4, RHEL 8.4/9.0), iOS 14+, Android 8+ (API 23+), webOS, WebAssembly, INTEGRITY и QNX. Исходные тексты компонентов Qt поставляются под лицензиями LGPLv3 и GPLv2.

Qt 6.5 получил статус LTS-выпуска, в рамках которого для пользователей коммерческой лицензии обновления будут формироваться в течение трёх лет (для остальных обновления будут публиковаться полгода до формирования очередного значительного выпуска). Поддержка прошлой LTS-ветки Qt 6.2 продлится до 30 сентября 2024 года. Ветка Qt 5.15 будет сопровождаться до мая 2025 года.

Основные изменения в Qt 6.5:

  • Стабилизирован и переведён в разряд полностью поддерживаемых модуль Qt Quick 3D Physics, предоставляющий API для симуляции физических процессов, который можно использовать вместе с Qt Quick 3D для реалистичного взаимодействия и перемещения объектов в 3D-сценах. Реализация основана на движке PhysX.
  • Добавлена поддержка тёмного режима оформления платформы Windows. Автоматическое применение активированного в системе тёмного оформления и настройка рамок и заголовка, если в приложении используется стиль, не меняющий палитру. В приложении настроить собственную реакцию на изменения в системной теме можно через обработку изменения свойства QStyleHints::colorScheme.
  • В Qt Quick Controls стиль Material для Android приведён в соответствие с рекомендациями Material 3. Реализован полноценный стиль для iOS. Добавлены API для изменения внешнего вида (например, containerStyle для TextField или TextArea, или roundedScale для кнопок и всплывающих блоков).
  • На платформе macOS в приложениях, использующих QMessageBox или QErrorMessage, обеспечен показ родных для платформы диалогов.
  • Для Wayland добавлен программный интерфейс QNativeInterface::QWaylandApplication для прямого обращения к родным для Wayland объектам, которые используются во внутренних структурах Qt, а также для получения доступа к информации о последних действия пользователя, которая может быть востребована для передачи расширениям протокола Wayland. Новый программный интерфейс реализован в пространстве имён QNativeInterface, в котором также предоставляются вызовы для доступа к родным API платформ X11 и Android.
  • Добавлена поддержка платформы Android 12 и несмотря на значительные изменения в данной ветке сохранена возможность создания универсальных сборок для Android, которые могут работать на устройствах с разными версиями Android, начиная с Android 8.
  • Обновлён стек Boot2Qt, который может использоваться для создания загружаемых мобильных систем с окружением на базе Qt и QML. Системное окружение в Boot2Qt обновлено до платформы Yocto 4.1 (Langdale).
  • Началось формирование пакетов для Debian 11, на которые распространяется коммерческая поддержка.
  • Расширены возможности платформы WebAssembly, позволяющей создавать Qt-приложения, работающие в web-браузере и переносимые между разными аппаратными платформами. Приложения, собираемые для платформы WebAssembly, благодаря JIT-компиляции выполняются с близкой к нативному коду производительностью, могут использовать Qt Quick, Qt Quick 3D и доступные в Qt средства визуализации. В новой версии добавлена поддержка отрисовки видео и использования в виджетах средств для людей с ограниченными возможностями.
  • Web-движок Qt WebEngine обновлён до кодовой базы Chromium 110. На платформе Linux реализована поддержка аппаратного ускорения отрисовки видео при использовании графического API Vulkan в окружениях на базе X11 и Wayland.
  • Добавлен модуль Qt Quick Effects, предоставляющий готовые графические эффекты для интерфейса на базе Qt Quick. Собственные эффекты можно создавать с нуля или получать путём комбинирования уже существующих эффектов при помощи инструментария Qt Quick Effect Maker.
  • В модуле Qt Quick 3D предоставлена возможность настройки уровня детализации моделей (например, для объектов, расположенных далеко от камеры, можно генерировать более простые мэши). В API SceneEnvironment реализована поддержка тумана и постепенного исчезания далёких объектов. В ExtendedSceneEnvironment предоставлены возможности для создания сложных эффектов постобработки и комбинирования таких эффектов, как глубина резкости, свечение и блики.
  • Добавлен экспериментальный модуль Qt GRPC с поддержкой протоколов gRPC и Protocol Buffer, позволяющий обращаться к сервисам gRPC и выполнять сериализацию Qt-классов, используя Protobuf.
  • В модуле Qt Network добавлена поддержка настройки соединений HTTP 1.
  • В модуль Qt Serial Bus добавлены экспериментальные классы для работы с шиной CAN, которые могут применяться для кодирования и декодирования сообщений CAN, обработки кадров и разбора файлов DBC.
  • Возрождён модуль Qt Location, предоставляющий приложениям средства для интеграции карт, навигации, пометки интересных мест (POI). Модуль поддерживает интерфейс плагинов, через который можно подключать бэкенды для работы с различными сервис-провайдерами и создавать расширения API. Модуль пока имеет статус экспериментального и поддерживает только бэкенд для карт на базе Open Street Maps.
  • Расширены возможности модулей Qt Core, Qt GUI, Qt Multimedia, Qt QML, Qt Quick Compiler, Qt Widgets.
  • Проведена большая работа по повышению стабильности, закрыто около 3500 отчётов об ошибках.

>>> Подробности (OpenNET)

★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 2)

Лично я прямо сказать не в восторге от WASM. Еще один инструмент для засорения веба. Вот-вот будет очередной Flash. JS хоть с горем пополам можно читать, читать байт-код WASM почти невозможно. Так что опять пропреитарщина…

Очень жаль, что Qt этому способствует.

zx_gamer ★★
() автор топика
Ответ на: комментарий от zx_gamer

И да, JS это тоже плохо, на мой взгляд. Делайте генерацию статического HTML / XHTML на сервере и присылайте клиенту. Не надо заставлять его производить выполнение тюринг-полной программы в программе для просмотра веб-страниц.

Не хватает статики для определенных нужд? – Пишите программу для ОС, а не для браузера. Не надо превращать WWW в интерпретатор приложений.

zx_gamer ★★
() автор топика

Кстати, я сам еще не в курсе, у Qt Wayland в условной компиляции? Можно его не собирать, чтобы облегчить тулкит?

zx_gamer ★★
() автор топика

сохранена возможность создания универсальных сборок для Android, которые могут работать на устройствах с разными версиями Android, начиная с Android 8.

Бедный nougat все дропают, а ведь куча всё еще живых устройств и не только телефонов.

One ★★★★★
()
Ответ на: комментарий от zx_gamer

И да, JS это тоже плохо, на мой взгляд. Делайте генерацию статического HTML / XHTML на сервере и присылайте клиенту. Не надо заставлять его производить выполнение тюринг-полной программы в программе для просмотра веб-страниц.

Дружище, дай обниму.

rumgot ★★★★★
()

И это хорошо. Кути рулят.

R_He_Po6oT ★★★★
()

Почему пишут «Для wayland добавлен», это же просто протокол? Логичнее было бы писать «Для GNOME\Mutter добавлен» или «Для KDE\kwin добавлен».

Landgraf ★★★★★
()
Ответ на: комментарий от zx_gamer

Ну не Flash, но зачем этот WASM нужен не понятно. Всё равно внутри браузера адский sandboxing и нормальный UI сделать не получится. Даже буфера обмена нормального нет и, скорее всего, не будет. Понятно что такой код быстрее JS, но а смысл в нём? Гонять криптомайнеры в браузере?

Skullnet ★★★★★
()
Последнее исправление: Skullnet (всего исправлений: 1)
Ответ на: комментарий от zx_gamer

Делайте генерацию статического HTML / XHTML на сервере и присылайте клиенту. Не надо заставлять его производить выполнение тюринг-полной программы в программе для просмотра веб-страниц.

Вообще-то сейчас так работают почти все популярные сайты в вебе. Сервер присылает тебе клиентскую часть JS приложения, а приложение уже само редактирует DOM страницы, общаясь с сервером через REST-запросы. Это намного лучше и быстрее чем каждый раз скачивать HTML - это снимает нагрузку на сервер и уменьшает трафик. Кстати, благодаря такой модели и появились PWA, которые почему-то все браузеры хотят убить.

Skullnet ★★★★★
()
Последнее исправление: Skullnet (всего исправлений: 5)

(режим криокамеры) Qt стал более коммерческим чем ранее ? или это только про LTS и оф.сборки

решил почитать новость по оф.ссылке, в глаза бросились кнопки <Buy (от 320usd/mo)> <Try,trial>. Без отсылок на репо или community-версию

MKuznetsov ★★★★★
()
Ответ на: комментарий от LongLiveUbuntu

А для установки всего этого дела до сих пор надо регистрироваться у них на сайте.

Ещё и VPN нужен.

Они нарушают свою же GPL лицензию не давая скачивать русским.

Но на гитхабе можно скачать исходники бесплатно и без регистрации и без VPN.

И собрать самому.

fsb4000 ★★★★★
()
Ответ на: комментарий от zx_gamer

JS это тоже плохо, на мой взгляд

Он плох тем, что его под эти задачи никто никогда не затачивал. Открыл примеры простейших SPA на JS, имхо это перебор - ну не должны такие простые вещи делаться настолько сложно, с таким количеством приседаний. Кто привык за еду это писать - вопросов нет, но со стороны незамыленным глазом смотрится неприятно.

Делайте генерацию статического HTML / XHTML на сервере и присылайте клиенту

Так уже было, почему-то от этого php-подхода массово отказались. Как минимум, новый подход меньше сервер нагружает.

Пишите программу для ОС, а не для браузера

Ага. Отдельно для андройда, отдельно для айос, отдельно для win, отдельно для lin (красноглазики ещё потребуют отдельно для линукса консольную и gui-версии)... И так уже всё, что прекрасно могло жить в браузере, расползлось на 100500 закрытых приложенек в телефоне. Может, не надо?

Преимущество отдельных программ понимаю. Когда в некоторых софтинах дропнули нормальные клиенты и оставили управление только через веб, интерфейс потерял и в скорости, и в функционале, и в эстетике.

yu-boot ★★★★
()
Ответ на: комментарий от MKuznetsov

Qt стал более коммерческим чем ранее ? или это только про LTS и оф.сборки

Многие новые модули идут без LGPL. Только GPL или коммерческая лицензия.

Также отдельные направления есть только коммерческие.

Но старые модули, основные обязаны быть LGPL иначе у KDE будут права выпустить их под MIT по соглашению с Qt Company.

Так что нет, все прежние модули остались под прежними лицензиями.

Вот есть страница: https://www.qt.io/product/features

Можно выбрать LGPL и посмотреть какие квадратики стали серыми. Вот их использовать нельзя под этой лицензией.

fsb4000 ★★★★★
()
Ответ на: комментарий от fsb4000

Или с зеркал любого дистрибутива(если нужны бинарники)

Werenter ★★★
()
Ответ на: комментарий от yu-boot

Если хочется - есть electron, хотя лучше использовать что-то по типу того же Qt, и проблема платформы отпадает сама собой. А консольную версию можно сделать вообще обходясь только стандартной библиотекой языка.

Werenter ★★★
()
Ответ на: комментарий от yu-boot

Так уже было, почему-то от этого php-подхода массово отказались. Как минимум, новый подход меньше сервер нагружает.

Не обязательно генерировать страницу каждый раз. Вполне можно генерировать ее при создании или изменении, а потом просто отдавать статику. У какой-нибудь условной «Википедии» статьи создаются/меняются ничтожно редко, по сравнению с тем, сколько уже готовых отдается. Если выкинуть оттуда PHP и создавать в файловой системе XHTML файл статьи, то нагрузка упадет сама собой на порядок.

Ага. Отдельно для андройда, отдельно для айос, отдельно для win, отдельно для lin (красноглазики ещё потребуют отдельно для линукса консольную и gui-версии)… И так уже всё, что прекрасно могло жить в браузере, расползлось на 100500 закрытых приложенек в телефоне. Может, не надо?

Ну во-первых есть кроссплатформенные библиотеки. Условному GIMP`у в итоге пофиг где работать.

Во-вторых виртуальная машина байткода какого-либо языка может решить эту задачу. Программа, написанная на Lisp, Tcl, Java и т.п. будет работать везде, где есть соответствующие интерпретаторы. Но это имеет смысл в малонагруженных приложениях, высоконагруженные все равно придется писать на C / C++.

zx_gamer ★★
() автор топика
Ответ на: комментарий от Skullnet

Это намного лучше и быстрее чем каждый раз скачивать HTML - это снимает нагрузку на сервер и уменьшает трафик

Это миф. Один раз прислать html намного быстрее и менее затратно по траффику чем слать пользователю тонную js кода и гонять туда-сюда без конца данные на каждый чих пользователя. Все эти бесконечные прогресс индикаторы и браузеры, тормозящие на элементарных действиях на мощном железе - лишее тому подтверждение. Да вон тот же linux.org.ru десять лет назад работал быстро и сейчас тоже работает также.

Помню году эдак в 2010 в основном присылали целиком web страницы и для особых нужд использовали ajax. Я тогда работал web разрабом на php/js/html/css и тогда у нас было правило хорошего тона при получении web страницы браузером совокупный объем всего содержимого (html/js/css/images etc) не должен превышать 1Mb. А сейчас вон сколько сайты выгружают.

Все тогда загружалось быстро и работало быстро. У меня тогда был ноут с 1Gb RAM и одноядерным 2GHz Celeron. А сейчас он зависает на современных сайтах.

Современный web развивается по принципу «чем больше ресурсов дадут - тем больше мне требуется».

rumgot ★★★★★
()
Последнее исправление: rumgot (всего исправлений: 1)
Ответ на: комментарий от rumgot

а видел код твиттера? там вообще п-ц. Это всё реактивные петухи делов наделали. ХеллоВорлды по 1.5гб. Грустно всё это

ggrn ★★★★★
()
Ответ на: комментарий от dataman

Скрипт. Но это он будет делать один раз при создании / редактировании статьи.

zx_gamer ★★
() автор топика
Ответ на: комментарий от dataman

Ну PHP было про генерацию страничек. Можно и PHP, Perl, C++, Java… Вариантов масса, на самом деле.

zx_gamer ★★
() автор топика
Ответ на: комментарий от yu-boot

Ага. Отдельно для андройда, отдельно для айос, отдельно для win, отдельно для lin (красноглазики ещё потребуют отдельно для линукса консольную и gui-версии)… И так уже всё, что прекрасно могло жить в браузере, расползлось на 100500 закрытых приложенек в телефоне. Может, не надо?

Преимущество отдельных программ понимаю. Когда в некоторых софтинах дропнули нормальные клиенты и оставили управление только через веб, интерфейс потерял и в скорости, и в функционале, и в эстетике.

Ты сам себе все прекрасно разложил.

rumgot ★★★★★
()
Ответ на: комментарий от zx_gamer

В целом согласен с мнением, у меня примерно тот же взгляд на проблему. Но все-таки, остается вопрос, как быть с интерактивностью?

hibou ★★★★★
()
Ответ на: комментарий от zx_gamer

Ну ты мыслишь как технарь. А кроме технарей есть пользователи, которые выдвигают свои запросы, есть менеджеры, которые хотят эти запросы обеспечить. Пользователи хотят именно в вебе. Менеджерам остается только согласиться. Ну и вот, а когда менеджеры согласны, запрос спускается на технический уровень. И?

hibou ★★★★★
()
Ответ на: комментарий от hibou

Для начала стоило бы задать вопрос «какую интерактивность мы хотим получить?»

beck ★★★★
()
Ответ на: комментарий от hibou

есть пользователи, которые выдвигают свои запросы

И что это за запросы, которым не хватает статических страниц и форм ввода?

beck ★★★★
()
Ответ на: комментарий от hibou

Приведи пример реальной задачи, которая реально требует «интерактивности» в вебе. Я такой не видел ни разу.

zx_gamer ★★
() автор топика
Ответ на: комментарий от zx_gamer

Я, сожалению, веб-кодинг не очень хорошо знаю. Но всякие красивости наверняка через скрипты идут. Эффекты там и прочее. Картинки по щелчку красиво масштабируются наверное и все такое.

hibou ★★★★★
()
Ответ на: комментарий от hibou

Но всякие красивости наверняка через скрипты идут

Уже не 2005 год на дворе. Для этого не нужны скрипты.

James_Holden ★★★
()
Ответ на: комментарий от DarkAmateur

QtWidgets совсем забросили?

А там нужно что-то менять? Это уже готовая библиотека.

Skullnet ★★★★★
()
Ответ на: комментарий от fsb4000

Обыск на границе - что это? Флэшка с Qt? Будем добывать исходники, прикрепляя флэшки с последними коммитами к голубям. Или подводные аппараты как у колумбийских баронов, сейфы с репозиториями на дне трюмов с зерном

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от zx_gamer

Ну вот моя задача, например: https://github.com/pikvm/pikvm

Очень интерактивная веб-морда отдается с устройства. Она могла бы быть десктопным приложением, но мне пришлось бы писать под разные ОС, а юзеру - скачивать эти самые приложения. А браузер есть у всех. Зашел - и всё работает из коробки. Это буквально мое коммерческое преимущество, потому что остальные КВМы в основном используют всякие плагины, апплеты и десктопный жава-хлам. Мои клиенты вздохнули с облегчением, и то, что оно работает прямо в браузере, для многих из них стало мотиватором выкинуть на свалку свои старые железки и заменить их моими.

liksys ★★★★
()
Ответ на: комментарий от DarkAmateur

Поговорю сам с собой...

Аккуратнее, это может быстро войти в привычку.

Mischutka ★★★★★
()
Ответ на: комментарий от Landgraf

Потоиу же, почему «для X11», а не «для Xorg».

intelfx ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.