Релиз Qt 5.11

5 месяцев ago admin 0

Состоялся релиз кроссплатформенного фреймворка для разработки приложений и построения графических интерфейсов Qt 5.11.

Список изменений:

  • Qt Core:
    • QFloat16 теперь имеет два метода для массового преобразования между float16 и float, используя аппаратное ускорение SIMD, если оно доступно во время выполнения;
    • QVarLengthArray теперь имеет референсные версии rvalue prepend и insert и может содержать типы данных только для подвижных объектов, такие как std::unique_ptr;
    • Методы QVector prepend и insert теперь имеют варианты принимающие ссылки на rvalue;
    • QUuid toString() и toByteArray() теперь могут принимать параметр, определяющий сгенерированный формат;
    • Обновлена поддержка Unicode в QString, QChar и QTextBoundaryFinder для совместимости с Unicode 10;
    • Добавлен QAbstractItemModel::checkIndex(), для помощи в тестировании достоверности индексов модели по конкретным классам моделей.
  • Qt Network:
    • TLS-ресширение ALPN и согласование соединения HTTP/2 теперь поддерживается в iOS (начиная с версии 11);
    • QNetworkRequest теперь имеет атрибут Http2DirectAttribute, чтобы начать соединение в HTTP/2 без предварительного согласования.
  • Qt QML:
    • Переписаны стадии разбора кода и компиляции. Теперь байт-код генерируется непосредственно из AST, и сохраняется как промежуточное представление;
    • Оптимизированная обработка вызовов JS, что приводит к большим улучшениям, особенно при вызове небольших функций;
    • Новый интерпретатор байт-кода с значительно улучшенной производительностью (на 80-90% JIT в сравнении с Qt 5.10);
    • Файлы .qmlc теперь полностью независимы от платформы и сохраняют байт-код вместо сборки;
    • Новая точка доступа JIT, которая генерирует оптимизированную сборку для многократно выполняемого байт-кода;
    • CONFIG + = qmlcompiler теперь также работает в opensource-верии, встраивая сгенерированный байт-код во время компиляции.
  • Qt Quick:
    • Расширенная поддержка загрузки сжатых текстур в элемент изображения. Поддерживаются форматы файлов .ktx и .pkm.
  • Qt Quick Controls 2:
    • AbstractButton:
      • Добавлены свойства autoRepeatDelay и autoRepeatInterval;
      • Перенесено свойство autoRepeat из Button в AbstractButton;
      • Добавлены свойства pressX и pressY для отображения точки нажатия на QML.
    • ButtonGroup:
      • Добавлено свойство checkState для показа общего состояния проверки всей группы.
    • CheckBox и CheckDelegate:
      • Свойство tristate больше не устанавливается в true при установке checkState на Qt.PartiallyChecked;
      • Частично отмеченный чекбокс больше не обрабатывается как полностью отмеченный. Это фиксирует цикличность проверки состояния для чекбокса без трех состояний, чтобы он прошел от частично проверенного до полностью контролируемого состояния;
      • Реализована возможность добавления nextCheckState () в QML.
    • ScrollBar и ScrollIndicator:
      • Добавлены свойства minimumSize, visualSize и visualPosition.
    • SpinBox:
      • Добавлено свойство displayText, чтобы позволить стилям создавать легкую привязку для отображения текстового значения вместо вызова JavaScript-функции textFromValue().
  • Qt 3D:
    • Улучшена производительность и снижено потребление CPU;
    • Выпуск произвольных лучей в пространстве мира или пространстве экрана;
    • Улучшена поддержка SIMD.
  • Qt Location:
    • Экспериментальный API-интерфейс пошаговой навигации;
    • Экспериментальная поддержка объектов QQuickItem-less;
    • API маршрутизации и мест теперь расширяемый и способный возвращать сервис-специфичную информацию;
    • Новый элемент Waypoint для указания дополнительной информации о маршрутной точке в маршрутных запросах, таких как угол захода на посадку;
    • MapItemView теперь QQmlDelegateModel-based;
    • Значительно улучшена производительность MapPolyline;
    • Слои теперь корректно работают в сочетании с элементами карты, что обеспечивает возможность сглаживания и прозрачности без артефактов;
    • Поддержка геокодирования и мест добавлена в плагин Mapbox.
  • Qt WebEngine:
    • Движок обновлён до Chromium 65;
    • Встроенные средства разработчика теперь могут использоваться без отдельного браузера;
    • Добавлен встроенный cookie-фильтр;
    • Добавлена поддержка квот.
  • qdoc:
    • qdoc теперь использует libclang для синтаксического анализа кода C/C ++.
  • Qt Designer:
    • Добавлена поддержка переводов, основанных на ID.
  • Qt GUI:
    • Поддержка печати в Linux теперь поддерживает больше опций CUPS, значительно улучшен диалог вывода на печать;
    • Улучшены средства для людей с ограниченными возможностями на платформе Windows Desktop;
    • В платформу Windows Desktop добавлена поддержка тем виджетов, а также улучшена работа HiDPI;
    • Обновлен двунаправленный текстовый алгоритм Unicode, совместимый с Unicode 10.
  • Qt Widgets:
    • Добавлен быстрый выбор текста мышью для QLineEdit.
  • Qt Serial Bus:
    • Добавлен J2534 Pass-Thru CAN-плагин для связи между компьютером и автомобилем;
    • Добавлено описание, серийный номер и канал в QCanBusDeviceInfo, для совместимых плагинов;
    • Введено категоризированное ведение журнала в модуль шины CAN, который может быть включен фильтрами «qt.canbus» и «qt.canbus.plugins. <Pluginame>»;
    • QCanBusFrame::isValid() теперь проверяет недопустимую длину полезной нагрузки CAN FD. Например. 24 является допустимой длиной полезной нагрузки CAN FD, но 28 нет.
  • Qt Bluetooth:
    • В BlueZ’s DBus LE API портирована реализация Bluetooth Low Energy (минимальная версия для включения — BlueZ 5.42).
  • Qt Test:
    • Добавлен QAbstractItemModel Tester, для помощи в тестировании классов моделей.

>>> Подробности и полный список изменений


Source: linux.org.ru