LINUX.ORG.RU

Qt 5.15

 , ,

Qt 5.15

2

3

26 мая вышла новая версия C++ фреймворка Qt 5.15 LTS.

Эта версия - последняя среди версий Qt 5 перед выпуском Qt 6. Функции, намеченные к удалению в Qt 6 обозначены в текущем выпуске как устаревшие. Некоммерческая поддержка будет осуществляться до выхода Qt 6, коммерческая поддержка будет осуществляться в течение трёх лет.

Новинки выпуска:

  • Начат перенос графического стека Qt на Qt Rendering Hardware Interface (RHI), который обеспечивает запуск приложений Qt Quick поверх Direct 3D, Metal (графический API систем Apple), Vulkan и OpenGL. Планируется, что Qt RHI станет центральной частью Qt 6.

  • Добавлена полная поддержка Qt Quick 3D - API для внедрения 3D-содержимого в приложения на основе Qt Quick с возможностью определения 3D-сцен на языке QML. Представленный впервые в Qt 5.14, в текущем выпуске у данного API появилась поддержка эффектов постпроцессинга, новый API для пользовательской геометрии, API поворота фигур на основе кватернионов и поддержка расходящихся лучей.

  • Qt Design Studio 1.5 с поддержкой Qt Quick 3D, переработанным интерфейсом на основе прикрепляющихся виджетов, улучшенным 3D-просмотром, возможностью добавления аннотаций к элементам и новым редактором диаграмм.

  • В Qt QML добавлены «обязательные» (required) свойства для компонентов, чьи значения обязательны к заданию пользователям компонента, встроенное (inline) задание компонентов, декларативный способ задания типов, оператор слияния ?? для задания значения в случае равенства NULL значения слева. Также улучшены предупреждения утилиты qmllint, добавлена утилита qmlformat для проверки соотвествия указаниям к стилю кода QML, QML в составе пакета Qt для микроконтроллеров стал совместим с QML для Qt 5.15.

  • В Qt Quick добавлена поддержка цветовых пространств для элементов Image, добавлен элемент PathText в состав Qt Quick Shapes. У хендлера указателя появилось свойство cursorShape для задания формы курсора мыши, для TableView добавлен объект HeaderView для добавления вертикальных и горизонтальных заголовков таблиц.

  • Улучшена поддержка оформления на стороне клиента (CSD).

  • Qt Lottie, модуль интеграции анимаций Adobe Effects, теперь поддерживается полностью.

  • Qt WebEngine обновлён до Chromium 80.

  • У Qt 3D улучшена поддержка профайлинга и отладки.

  • Qt Multimedia поддерживает рендер на нескольких поверхностях. Процедуры масштабирования и конвертации картинок в Qt GUI теперь во многих случаях многопоточная.

  • Qt Network поддерживает настраиваемые таймауты и тикеты сессий TLS 1.3.

  • QRunnable и QThreadPool могут работать вместе с std::function, добавлен кроссплатформенный метод удаления в корзину QFile::moveToTrash().

  • Добавлена поддержка родного диалога выбора файла в Android.

>>> Блог Qt

★★★

Проверено: shell-script ()
Последнее исправление: Dmitry_Sokolowsky (всего исправлений: 1)
Ответ на: комментарий от loz

Прикольно а оно лучше того что в джаве?

Зависит от того, где ты это будешь использовать. Из коробки в Java несколько GUI-фреймворков: AWT (очень древний), базирующийся на нем Swing (тоже древний) и JavaFX, который выкинули из JDK в отдельный проект и который довольно слабо развивается. Есть еще кросс-платформенный SWT используемый в Eclipse, который рисует графику через дефолтные графические тулкиты в разных системах, как это делает тот же wxWidgets:

  • Под Windows использует WinAPI;
  • Под macOS использует Cocoa;
  • Под Linux использует GTK+ последней версии.

Вообще ситуация с GUI в Java не слишком хорошая. Например та же компания JetBrains для своей IDEA сделали огромную надстройку над AWT/Swing, добавив туда кучу контролов и возможностей для кросс-платформенной работы в трех основных OS.

И можно ли с Qt из джавы работать?

Раньше был такой проект, который назывался QtJambi, но в настоящее время он оказался никому не нужным и даже не получил обновления до пятой мажорной версии Qt.

EXL ★★★★★
()
Ответ на: комментарий от popov-aa

Доколе? Когда уже в джаве появится нормальный развиваемый гуй?

Эксклюзивно для jvm уже никогда, сейчас пишу энтерпрайз, если 10 лет назад энтерпрайз был swing запускаемый через javawebstart, то сейчас это web в броузере.

anonymous
()
Ответ на: комментарий от popov-aa

Доколе? Когда уже в джаве появится нормальный развиваемый гуй?

Это было бы отлично, но скорее всего никогда. Если бы SUN все еще был на плаву, может быть и появился бы. Но не при Oracle.

Ситуация с AWT/Swing довольно плачевная на момент 2020 года. По сути он вскоре выродится в то, во что выродился тот же Xt (X Toolkit Intrinsics)/Xaw (X Athena Widgets) в мире Linux (и Unix), на развитие которого забили и наклепали сначала Motif, а потом и GTK+ с Qt’ом. Вот и в Java мире происходят такие пертурбации, вместо развития AWT/Swing в составе JDK, все начали клепать другие графические тулкиты – SWT, JavaFX, IDEA UI Framework и т. д. В итоге AWT/Swing совсем устарел и покрылся пылью.

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

От того, что крутятся на JVM и постоянно вызывают Garbage Collector. Все GUI, которые работают на виртуальных машинах (PyQt, PyGTK+, Electon, WPF (etc.)) имеют схожие проблемы отзывчивости, хотя на современном железе они не так уж сильно заметны.

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

Наоборот не так. Они сначала копят большой кеш мусора, а потом его чистят. Это ускоряет серверные приложения (да и гуёвые), но в момент когда начинает чиститься мусор происходит зависание. Т.е. зависания не растянуты по времени, а идут вместе кучей

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

Печально вроде вот неплохой язык на jvm только появился (это про котлин). А JB выпускают свои гуи-наработки в опен сорс?

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

Ну так эти тормоза и заметны особо, когда переключаются контексты или создаются объекты, типа открываем файловый диалог, настройки IDE, настройки проекта. Создание многомегабайтных объектов сложной иерархии не настолько дешевая операция, как в компилируемых языках.

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

Печально вроде вот неплохой язык на jvm только появился (это про котлин). А JB выпускают свои гуи-наработки в опен сорс?

Да, но что-то дальше IntelliJ IDEA они не вылезли. Возможно GUI-либа там слишком толстая и завязана на внутренние механизмы IDE, поэтому ее не так просто вытянуть в свои проекты. Не копал в эту тему, может быть там и все нормально отделяется.

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

От того, что крутятся на JVM и постоянно вызывают Garbage Collector. Все GUI, которые работают на виртуальных машинах (PyQt, PyGTK+, Electon, WPF (etc.)) имеют схожие проблемы отзывчивости, хотя на современном железе они не так уж сильно заметны.

А отчего тогда тормозит Qt Creator, иногда сильнее, чем всё вышеперечисленное?

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

Из за зондов кербероса микрос 8 и других иродов все таки некая стата там есть могут даже воровать наработки , а всего то лишь некий твой исходный архив падает в некую незаметную папочку и отправляется халявщикам из всяких гуглоподобных организации

anonymous
()
Ответ на: комментарий от Reset

Ну вот странно вроде бы тулкиты есть в стандартной поставке языка да и кроссплатформенно.

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

На джаве гуй не пишут. Видимо не просто так.

Помимо IDE у меня на жабе используются dbeaver (SWT) и freemind/freeplane (Swing).

На electrone помимо VSCode только skype.

Qt только Telegram.

Gitk на Tcl/Tk.

Meld на GTK.

Все остальное Gnome дефолт которое я готов поменять на дефолт из других DE. По списку понятно что Java UI тулкиты так же распространены как и другие.

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