Qt 6 был выпущен с улучшениями, включая новую графическую архитектуру и улучшения языка программирования. Инструменты в Qt также были унифицированы и упрощены в использовании.
Qt-это кроссплатформенная платформа для разработки приложений и пользовательского интерфейса, которая позволяет создавать собственные приложения для настольных, встроенных или мобильных платформ. Qt начал свою жизнь как библиотека виджетов, написанная на C+ с привязками к другим языкам, включая Python, Rust, Go, Java и JavaScript. Преимущества Qt заключаются в широком наборе модулей пользовательского интерфейса и визуализации данных.
Первые улучшения в новом выпуске касаются графической архитектуры. Аппаратный интерфейс рендеринга Qt теперь поддерживает Direct 3D, Metal, Vulkan и OpenGL, что означает, что разработчики могут написать код рендеринга один раз, а затем развернуть его на любом поддерживаемом оборудовании. Существует также новая опция быстрого 3D, которая позволяет объединять 2D и 3D-контент в один стек. Добавлена поддержка фрактального масштабирования HiDPI для поддержки автоматического масштабирования пользовательского интерфейса для различных конфигураций мониторов.
Также была улучшена поддержка языков программирования. Система QProperty добавляет поддержку привязки в C++, и разработчики говорят, что это приносит лучшую часть QML в Qt с бесшовной интеграцией в QObject. API-интерфейсы параллелизма были обновлены, чтобы разработчики могли использовать несколько процессоров, параллельные вычисления и параллелизм для обеспечения плавности пользовательских интерфейсов при выполнении логики бэкенда в фоновом режиме. API-интерфейсы автоматически масштабируют задачи в зависимости от оборудования.
Улучшена поддержка строк и Юникода, а Qt полностью согласован с Юникодом. QList также был улучшен.
Сеть была улучшена, и разработчики могут создавать собственные бэкэнды протоколов и интегрировать их в рабочий процесс Qt по умолчанию.
Поддержка C++ была обновлена до C++17 с улучшенной читабельностью кода, улучшенной производительностью и более простым обслуживанием, а также добавлена поддержка CMake.
Также был выпущен Qt 6 для Python, со многими из тех же улучшений. Для Qt для Python Shiboken, генератор привязки Python, который Qt для Python использует для создания модуля PySide, был радикально реорганизован и переработан с новыми функциями.
Разработчики говорят, что для генерации привязки они добавили больше опций в систему типов, например, возможность выбора порядка перегрузки функций для использования в решателе. Они также сделали возможным объявление свойств. При поддержке C++ для генерации привязки взаимодействие с интеллектуальными указателями было улучшено и расширено для обработки современных функций C++, используемых в Qt 6, включая псевдоним типа шаблона из QVector в QList, новые ключевые слова спецификации исключений и операторы, написанные как скрытые друзья.
.