Qt 6 что нового
Перейти к содержимому

Qt 6 что нового

  • автор:

 

The productivity platform for the future

Next-generation UX with a single tool to design and develop 2D & 3D UIs. Limitless scalability to deploy smartphone-like UIs on ultra-low-cost hardware and advanced graphics on supercomputers. Qt 6 is the foundation we will build on to deliver the productivity platform for the future.

Latest Update

Qt 6.4

Qt 6.4 is a feature release in the Qt 6 series introducing significant enhancements for embedded, desktop, and mobile development.

Highlights in Qt 6

Qt Rendering Hardware Interface

Direct 3D, Metal, Vulkan and OpenGL. Write rendering code once, deploy to any hardware.

Qt Quick 3D

Merge 2D and 3D content with one stack.

Qt Quick Controls 2 Desktop Styling

Pixel-perfect, native looking controls seamlessly integrated into operating system.

HiDPI Support

Fractal scaling support allows for automatic UI scaling for different monitor configurations.

QProperty System

Increase code speed with binding support in C++, bringing the best part of QML to Qt with seamless integration to QObject.

Revamped Concurrency APIs

Mutiple CPUs, parallel computation, concurrency to keep your user interfaces fluent while doing backend logic in the background. Automatically scales tasks depending on the hardware.

Improved Networking Capabilities

Create your own protocol backends and integrate these into the default Qt workflow, security related features are added automatically.

Automated GUI testing

Automate functional regression tests and system tests of cross-platform GUIs and HMIs.

3D particle system

Customize your 3D particles from within Qt Quick 3D or Qt Design Studio.

Qt coverate testing in Qt Creator

Analyze the test and code coverage of C++ and QML code.

Vertex animations

Simulate deformations of soft materials with mesh morphing or abstract representations of model movements with skeletal animation.

CMake Support

Use the industry standard build system, with its wide feature set, large ecosystem to build Qt applications.

Qt for Microcontrollers (MCUs)

Lightweight rendering engine to deploy QML based UIs on low-cost hardware with 2D hardware acceleration for optimal graphics performance with minimal footprint (>80KB RAM).

Update to C++17

Update to latest standards​, with improved code readability, better performance​ and easier maintenance.

IDE and Tools

Qt Creator IDE

Qt 6 readiness

CMake support completely revamped and improved.

Improved use of plugins ​

Install plugin wizard to simplify extension plugin building and usage.

Ready for C++20​

Code model update to support C++20 features​

Developer Experience

Multiple shortcuts for the same action, open Qt for Python interactively, improved project loading responsiveness.

Other improvements

Support for Catch2 test framework.

Qt Design Studio

One tool for Next-gen 2D & 3D UIs with Qt 6

UI design and development tools that enables designers and developers to rapidly prototype and develop complex user interfaces.

Asset import bridges

Import design assets from Figma, Adobe XD, Sketch and Adobe Photoshop.

Thumbnail Generation

Custom components now automatically generate an icon with a tooltip and full preview making it easier to get an overview.

Item rotation

Improved and intuitive item rotation with the new rotation tool.

Navigator Improvements

Lock items that are complete to avoid accidental editing. Reverse the order of items to match the approach of common graphical design tools. Less visual clutter with unchecked icons now being hidden and easier spotting of component relations.

 

Состоялся релиз фреймворка Qt 6

С полным списком нововведений можно ознакомиться по ссылке ниже.

  1. Поддержка строгой типизации.
  2. Возможность компиляции QML в представление на C++ и машинный код.
  3. Перевод полной поддержки JavaScript в разряд опций (использование полнофункционального JavaScript-движка требует больших ресурсов, что мешает применению QML на таком оборудовании, как микроконтроллеры).

Это отличное решение, выкинуть вебню-клей в лице JavaScript’а из QtQuick и транспилировать логику сразу в быстрые крестцы. По мотивам этого треда, см. комментарий от @hobbit : Зачем нужен QML в Qt? (комментарий)

Получается они в итоге пришли к решениям, косвенно схожими с теми, что были озвучены нами в том топике. Осталось только понять, зачем нужно было вообще ковыряться с JavaScript.

В свете озвученных метаморфоз в QtQuick/QML сегодня очень смешно выглядят заявления всяких удалённых ЛОРовских клоунов-фанатиков с порваным задом по ссылке выше.

Специфичные для OpenGL классы перемещены из QtGui в отдельный модуль QtOpenGL.

Это что же получается, приложение-кнопка на Qt теперь не будет зависеть от OpenGL, как в Qt 5? qt 5.3 и qt 5.5 (комментарий)

Ой, а ЛОРовские клоуны-фанатики на всю критику по раздутию зависимостей фреймворка Qt 5 визжали «так надо! вы ничего не понимаете!». Внимание, риторический вопрос: будут ли ЛОР’овские Qt-фанатики теперь визжать «верните нам в QtGui зависимость от OpenGL»?

Это очень хорошо, что разработчки Qt – адекваты, а не какие-нибудь фракталы с ГСМ, прости-господи. И это отлично, что в Qt 6 начали исправлять архитектурные недостатки и жирность Qt 5, в котором была заявлена некая «модульность», а на деле если сравнивать с Qt 4 – размер приложения-кнопки вырос в два раза как раз за счёт подобного «мёртвого» хлама внутри QtGui.

Qt for Microcontrollers (MCU), для работы которого достаточно всего лишь 80 Кб ОЗУ в минимальной конфигурации

Интересно, а QString и QVector там полноценные? Это очень круто, использовать сахарок Qt для разработки под MCU и какой-то рутины вроде нормальных операций со стороками.

Поддержка CMake для сборки приложений Qt

Эх, очень жаль что этот выбор похожей на autocrap поделки сугубо политический и кошерный и свой собственный QBS не прижился в Qt, но получился настолько удобным, что на него даже сторонние программисты из Embedded-мирка обратили внимание: Создаю QBS плагин для VS Code (комментарий)

Печально, что на IT, как и на весь наш мир действуют одни и те же законы, из-за которых выигрывает не простое и приятное решение, а уродливое и неказистое: autotools, CMake, X.Org, PHP, etc.

Так-то давно она была. Как минимум с Qt 5.6 нормально реализовали, но вроде как не для всех тем, а для Fusion. Улучшена, наверное?

@hobbit : Они таки убили неюникодные кодировки. Одной причиной использовать QString стало меньше. Притом, что файлы, использующие эти кодировки, у пользователей никуда не девались.

Соглашусь с тобой. Это может быть проблемой, если ты делаешь программу которая, например, читает какой-то специфический и древний файл. Или из определённой БД берёт строки в каком-нибудь там Win1251 или Win1252. Получается теперь чтобы манипуляции с такими сущностями производить (хотя бы конвертнуть их в приемлемый для фреймворка вид), нужно будет тянуть в свой Qt-проект какие-нибудь сторонние либы типа iconv , у которых с кросс-платформенностью не всё так радужно, как у Qt? Печальная ситуация, согласен.

All new Qt 6

Software requirements are increasing exponentially, your team’s capacity is not! Qt 6’s tools & APIs empower designers and developers to create more!

Next-Generation User Experience

Build consistently branded 2D & 3D applications with a custom or native look & feel – using designer and developer-friendly tools, a leaner, yet more powerful QML language, and a flexible graphics architecture.

Limitless Scalability

From microcontrollers (MCUs) to supercomputers, Qt 6 and our massive ecosystem provides everything you need to design, develop, and deploy software for your entire product line. Create applications that are beautiful in the front-end and powerful in the back-end, with the same codebase for any hardware, any OS, or on bare metal.

Вышла версия 6.0 фреймворка Qt

Во вторник, 8 декабря, компания Qt Company обновила свой фреймворк для кроссплатформенной разработки. Если сравнить с пятой версией 2012 года, в Qt 6.0 появились новые API для 3D-графики, улучшенная поддержка С++17 и система сборки cmake. Полный список изменений компания публикует на странице в вики.

Технический директор Qt Company Ларс Кнолл отметил, что версия Qt 5 «была фантастически успешна многие годы». Предыдущую версию выпустили в 2012 году и её пользовательская база выросла до 1,5 миллионов пользователей. Также увеличилось использование Qt во встраиваемых системах управления, контроля и мониторинга микропроцессоров; появился запрос на работу с API для 3D-графики.

За годы разработки между версиями пятого Qt стало значительно труднее сохранять совместимость на уровне исходных кодов и двоичных файлов. Разработчики оправдывают историческую неизбежность Qt 6.0 необходимостью адаптировать его к новому миру и его изменчивым требованиям.

Особенности Qt 6.0:

  • Использование С++ 17
  • QML следующего поколения
  • Новая графическая архитектура
  • Отрисовка 2D и 3D объединена для Qt Quick
  • Система сборки CMake для приложений
  • Qt для микроконтроллеров, требующий 80 КБ ОЗУ в минимальной конфигурации

Ларс Кнолл отметил работу более 250 сотрудников и тысяч пользователей, участвовавших в разработке новой версии продукта и поблагодарил их за тяжёлый труд. Он надеется, что пользователи оценят Qt 6, и обещает портировать оставшиеся модули, как можно быстрее.

Qt 6.0 вышла на Windows, macOS, Linux, iOS и Android. Программа пока не работает для операционных систем реального времени QNX и INTEGRITY. Их поддержка появится к моменту выхода Qt 6.2.

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *