The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Релиз фреймворка Qt 5.11

22.05.2018 17:32

После полугода разработки представлен релиз кроссплатформенного фреймворка Qt 5.11. Исходные тексты компонентов Qt поставляются под лицензиями LGPLv3 и GPLv2, инструменты Qt для разработчиков, такие как Qt Creator и qmake, а также некоторые модули поставляются под лицензией GPLv3.

Основные новшества:

  • В движке QML отмечаются серьёзные внутренние изменения: полностью переписаны стадии парсинга и компиляции QML, что отразилось в увеличении производительности и удобства сопровождения. Новый компилятор теперь формирует на базе QML не привязанный к конкретной платформе байткод, который может кэшироваться в файлах qmlc.

    Байткод также можно компилировать отдельно при помощи qmlcompiler и включать в поставку продукта. Для выполнения байткода применяется новый интерпретатор, который на 80-90% опережает по производительности интерпретатор, применявшийся в прошлом выпуске. Поверх интерпретатора байткода применяется Hotspot JIT, во всех областях обгоняющий по производительности старый JIT;

  • В Qt Quick добавлена поддержка загрузки сжатых текстур, поставляемых в форматах ktx и pkm, что позволяет сократить потребление памяти и ускорить запуск приложения за счёт применения формата изображений, который напрямую может быть обработан GPU, без отдельных стадий распаковки изображений jpeg/png;
  • Представлена порция мелких улучшений в Qt Core, например, добавлены новые методы для более полной совместимости с STL. Классы QChar, QString, QTextBoundaryFinder, а также алгоритм обработки двунаправленного текста, приведены к полной совместимости со спецификацией Unicode 10;
  • В Qt Quick Controls 2 добавлено множество мелких новшеств и исправлений, таких как свойство auto-repeat для кнопок, улучшенное позиционирование для ScrollBars и более качественная настройка стилей для SpinBoxes;
  • Значительно переработан диалог вывода на печать для платформы Linux, расширена поддержка всех опций, предоставляемых системой печати CUPS;
  • В Qt Widgets проведена работа по устранению ошибок. В классе QLineEdit добавлена поддержка режима быстрого выделения текста мышью;
  • В Qt Location добавлена экспериментальная поддержка пошаговой навигации (turn-by-turn). Представлен API для создания картографических объектов, не привязанных к классу QQuickItems. Значительно увеличена производительность объектов MapPolyline, в которых также появилась поддержка слоёв в комбинации с элементами объекта Map. API Routing и Places доработаны для поддержки расширений, добавлен новый элемент WayPoint. В плагине MapBox появилась поддержка геокодирования и объектов Places;
  • Qt WebEngine обновлён до кодовой базы Chromium 65. Добвлена поддержка встроенных инструментов для web-разработчиков, не требующая запуска отдельного браузера;
  • В набор Qt for Device Creation, предназначенный для создания полноценных загрузочных мобильных систем с окружением на базе Qt и QML, добавлена возможность использования графических слоёв на базе оборудования, поддерживающего аппаратный композитинг (VSP2), что позволяет повысить производительность, снизить энергопотребление и реализовать такие возможности как вывод видео в нижележащем слое;
  • В классе SerialBus улучшена поддержка CAN Bus, а в Bluetooth поддержка BTLE. Обновлён модуль QtKNX с поддержкой одноимённого стандарта для управления домашней автоматизацией. Добавлен экспериментальный модуль с поддержкой промышленного коммуникационного стандарта OPC/UA;
  • В Qt Network для платформы iOS добавлена поддержка TLS-расширения ALPN, применяемого для установки защищённого соединения в HTTP/2. В QNetworkRequest добавлена операция Http2DirectAttribute для запуска сеанса HTTP/2 без первого согласования соединения;
  • Расширена поддержка средств для людей с ограниченными возможностями, предоставляемых на платформе Windows. Связанный с accessibility код полдностью переписан с использованием Microsoft UI Automation вместо старого фреймворка Microsoft Active Accessibility;
  • Проведена работа по улучшению стилей виджетов на платформе Windows, при использовании экранов с высокой плотностью пикселей (High-DPI);
  • Утилита qdoc переведена на libclang для разбора кода на C++
  • Удалена поддержка некоторых старых компиляторов и платформ, включая MSVC 2013, QNX 6.6 и macOS 10.10;
  • Представлена экспериментальная версия Qt для WebAssembly, которая позволяет компилировать графические приложения на базе Qt в виде модулей на WebAssembly, которые можно запускать непосредственно в web-браузере. Для компиляции применяется Emscripten. OpenGL транслируется в WebGL. Из поддерживаемых классов отмечаются QtBase, QtDeclarative, QtCharts, QtGraphicalEffects, QtQuickControls, QtQuickControls2, QtWebSockets, QtMqtt;
  • Проходит тестирование Qt for Python, набор модулей для создания графических приложений на языке Python с использованием Qt5. На текущем этапе содержимое Qt for Python полностью аналогично PySide2.

Дополнение: Также отмечается порция улучшений, связанных с Wayland. Например, улучшена поддержка High-DPI, обеспечена возможность отката на X11 в случае недоступности Wayland (QT_QPA_PLATFORM="wayland;xcb"), добавлена поддержка ввода символов при помощи клавиши Compose, Qt Wayland добавлен в состав базовых сборок.

  1. Главная ссылка к новости (https://blog.qt.io/blog/2018/0...)
  2. OpenNews: Релиз фреймворка Qt 5.10 и среды разработки Qt Creator 4.5.0
  3. OpenNews: Предварительный выпуск Qt для WebAssembly
  4. OpenNews: Представлен проект Qt for Python
  5. OpenNews: Выпуск интегрированной среды разработки Qt Creator 4.6.0
  6. OpenNews: Проект Qt представил новую платформу для автомобильных систем
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/48641-qt
Ключевые слова: qt
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (60) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (-), 18:44, 22/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –23 +/
    Отличный повод для форка! Пора разрабатывать свой собственный Российский графический тулкит!
     
     
  • 2.3, Аноним (-), 19:01, 22/05/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Отличный повод для форка! Пора разрабатывать свой собственный Российский графический тулкит!

    но ведь отечественная ос "парусрыба" и так какой-то отечественный тулкит уже содержит

     
  • 2.7, anonymous (??), 19:23, 22/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Отличный повод для форка! Пора разрабатывать свой собственный Российский графический тулкит!

    Они даже поучаствовать нормально не могут. https://codereview.qt-project.org/ забанен по решению суда.

     
     
  • 3.10, Аноним (-), 19:49, 22/05/2018 [^] [^^] [^^^] [ответить]  
  • –7 +/
    Вранье, все работает.
     
     
  • 4.16, anonymous (??), 20:36, 22/05/2018 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Блокировки обходишь? http://isitblockedinrussia.com/?host=codereview.qt-project.org
     
  • 4.19, АнОн (?), 20:38, 22/05/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не вранье, Ростелеком продолжает по ip блокировать
     
  • 4.25, Аноним (-), 21:16, 22/05/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Билайн. Ниxpeна не работает.
     
     
  • 5.33, Аноним (-), 21:58, 22/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Билайн. Все работает.
     
     
  • 6.36, WWW (?), 22:26, 22/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    TTK-Волга работает.
     
  • 4.35, MaYor (?), 22:22, 22/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не коннектится...
     
  • 3.43, Аноним (-), 23:54, 22/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Заодно и llvm.org заблокирован...
     
     
  • 4.45, Аноним (-), 00:14, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Аналогично. Билайн, подмосковье. Работает.
     
  • 3.65, SlavaPutinizmu (?), 10:46, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Причём здесь РКН?
     

  • 1.4, Anonymouss (?), 19:07, 22/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    И здесь байткоды :(
     
     
  • 2.6, anonymous (??), 19:22, 22/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И не говори. Виджеты похоже выкинут скоро. Годы стагнации не пройдут даром.
     
     
  • 3.32, Аноним (-), 21:36, 22/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Похоже да не похоже.

    >В Qt Widgets проведена работа по устранению ошибок.
    >Проведена работа по улучшению стилей виджетов на платформе Windows, при использовании экранов с высокой плотностью пикселей (High-DPI);

     
     
  • 4.41, anonymous (??), 23:43, 22/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Это незначительные изменения.
     
     
  • 5.44, Аноним (-), 00:12, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Зачем вносить значительные измененияй в то, что и так хорошо работает? Чего же там не хватает?
     
     
  • 6.47, anonymous (??), 00:31, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Нормального процесса разработки. А то сейчас там одни регрессии и точечные костыли.
     
     
  • 7.50, Аноним (-), 00:48, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Регрессии могут быть во всем, ошибки фиксят. С процессом разработки все в порядке. Для десктопа архитектура виджетов весьма стройная и продуманная. Вот для спецэффектов и смартфонов уже не подходят, поэтому и делают _параллельно_ Qt quick.
     
     
  • 8.60, anonymous (??), 08:47, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Фиксят те же пользователи через codereview, а на счёт архитекторы уже никто не д... текст свёрнут, показать
     
  • 8.61, anonymous (??), 08:50, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Я уже не говорю, что рендеринг в них исключительно на CPU, да и тот замедился ра... текст свёрнут, показать
     
  • 5.69, ivanpetrov (ok), 01:10, 25/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > это незначительные изменения

    А так?
    http://code.qt.io/cgit/qt/qtbase.git/tree/dist/changes-5.11.0/?h=v5.11.0

     
  • 2.28, Аноним (-), 21:25, 22/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Чем это плохо? Вроде же производительность выросла.
     

  • 1.9, M i M (?), 19:35, 22/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Если открыть скриншот со сравнением PNG vs. KTX, то видно, что KTX замылен и неприятен глазу.
     
     
  • 2.18, Аноним (-), 20:38, 22/05/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Если открыть скриншот со сравнением PNG vs. KTX, то видно, что KTX замылен и неприятен глазу.

    Ишь, чего учудили! Только ламповый JPG!

     
  • 2.29, Аноним (-), 21:26, 22/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Так ты специслист по мылу получается?
     

  • 1.11, QuAzI (ok), 20:15, 22/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    5.9 LTS прочно занял свою нишу на ближайшую пятилетку вместе с Ubuntu 18.04 LTS на десктопе и все эти ноухау пролетают мимо.
    Гораздо интереснее когда всё-таки релизнут pyside2 и что там нынче с мобильной разработкой, кажется на неё забили
     
     
  • 2.22, Аноним (-), 20:42, 22/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    В Ubuntu ещё и snap полноценно появился, так что нет :)
     
  • 2.48, Анончик999999 (?), 00:36, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Было б интенесно, если б еще запили сборку хотя бы exe-шников с PySide2, а то начудили с cx_Freeze, удаляя параметры для включения либ в архив. А с "zip_include_packages" cx_Freeze не все зависимости ищет, например, с numpy. А без сжатия, сборка exe-шника - долгое занятие, да еще и размер прожки с несжатыми либами - больше 1 Гб, если используется numpy+mkl. PyInstaller тоже чудит с Matplotlib, если не установить девелоперскую версию с одной из веток на GitHub. Было бы хорошо, если б еще придумали нормальный сборщик с простой настройкой и без геморроя.
     

  • 1.12, Аноним (-), 20:16, 22/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    зачем вообще этот qml
     
     
  • 2.15, Аноним (-), 20:26, 22/05/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Он шикарен, лаконичен.
    Попробуйте.
     
     
     
     
    Часть нити удалена модератором

  • 5.39, НяшМяш (ok), 23:00, 22/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Это он так эпично спалился
     
  • 2.46, Аноним (-), 00:18, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > зачем вообще этот qml

    Только чтобы делать свистопердящие приложения в стиле Aero и еще для мобильных устройств с пальцетыканьем.

     
     
  • 3.56, Аноним (-), 05:40, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Только чтобы делать свистопердящие приложения в стиле Aero и еще для мобильных устройств с пальцетыканьем.

    Так офигенно же. Не старопердящие же приложения в стиле motif делать для десктопов.

     
  • 2.51, Анонимусис (?), 00:54, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > зачем вообще этот qml

    рендеринг виджетов напрямую на видеокарте (через scenegraph). Qt Widgets сейчас полностью рендерятся цпу например

     

  • 1.13, Аноним (-), 20:22, 22/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Новый компилятор теперь формирует на базе QML не привязанный к конкретной платформе байткод, который может кэшироваться в файлах qmlc.

    зачем???  зачем в компилируемой на ц++ программе не привязанный к этой платформе гуи??? ну зачем? нафига? какой в этом смысл?

     
     
  • 2.20, anonymous (??), 20:38, 22/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Хуже того, в этот "байткод" qtcreator не умеет.
     
  • 2.23, anonymous (??), 20:54, 22/05/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Новый компилятор теперь формирует на базе QML не привязанный к конкретной платформе
    > байткод, который может кэшироваться в файлах qmlc.
    > зачем???  зачем в компилируемой на ц++ программе не привязанный к этой
    > платформе гуи??? ну зачем? нафига? какой в этом смысл?

    дофйxoa вapиaнтoв, от простых и до навороченных:
    - стильно, модно..
    - доставка гуя по том или иному тарифному плану
    - в "следующей перспективе", тарифицируются клики на контролах
    ...

     
  • 2.27, llolik (ok), 21:23, 22/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > зачем???

    В сущности, они пилят своё подобие Electron-а. ИМХО это было очевидно.

     
     
  • 3.49, Аноним (-), 00:38, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Они пилят подобие XAML, и начали это делать задолго до появления Electron.
    Electron пилит подобие XAML и QML, это было очевидно. Ты небось сидишь в шапке из фольги.
     
     
  • 4.57, llolik (ok), 08:26, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Они пилят подобие XAML, и начали это делать задолго до появления Electron. Electron пилит подобие XAML и QML, это было очевидно.

    И? Кроме особенностей реализации, идейно в них есть какое-то различие?
    > Ты небось сидишь в шапке из фольги.

    Мне какбы пофигу вот от слова совсем. Просто высказал мысль.
    Но, действительно, мне не внушает оптимизма идея пихать куда надо и не надо очередной JavaScript.

     
  • 3.54, Аноним (54), 01:32, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Мммм...нет. Электрон это когда пользовались !@#$%^ и палками и решили пилить приложения как серьезные дяди. Ничего толкового конечно не вышло.
    QML это когда серьезные дяди пилили толковые приложения и решили, что синтаксис С++ хорош для логики, но для GUI неплохо заюзать декларативщину со своим рантаймом и обработкой на GPU. Тут толковое выходит с переменным успехом.
    Зачем байткод отвязали от платформы - не до конца понятно. Видимо для вебассембли, что по-мне вызывает слишком много вопросов, да еще и заходят на территорию !@#$%^ и палок.
     
     
  • 4.59, llolik (ok), 08:44, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Зачем байткод отвязали от платформы - не до конца понятно.

    Мне как раз непонятно, зачем байткод был платформозависимый, если интерпреирует и исполняет его всё равно фреймворк.

     
  • 4.63, КО (?), 09:43, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >Зачем байткод отвязали от платформы - не до конца понятно

    Т.е. зачем шейдеры для графических карт в 3D сценах генерируются через llvm байткод Вам понятно.
    А зачем то же самое делать с GUI нет? К какой конкретной видеокарте Вы собрались приколачивать байткод?

     
  • 2.31, Sinot (ok), 21:34, 22/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Те же виджеты, плагины, расширения от сторонних разработчиков не обремененных интересом поддерживать множество платформ. Ярким примером служит KDE. А сколько их было до QML не счесть.

    И вообще, почему нет? Вас кто-то заставляет этим пользоваться или как?

     
     
  • 3.42, anonymous (??), 23:46, 22/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > И вообще, почему нет? Вас кто-то заставляет этим пользоваться или как?

    Это называется критика.


     
  • 3.55, Аноним (54), 01:33, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Те же виджеты, плагины, расширения от сторонних разработчиков не обремененных интересом
    > поддерживать множество платформ. Ярким примером служит KDE. А сколько их было
    > до QML не счесть.
    > И вообще, почему нет? Вас кто-то заставляет этим пользоваться или как?

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

     
  • 2.34, Crazy Alex (ok), 22:09, 22/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А кто сказал, что программа на плюсах, а не на питоне каком?
     
  • 2.64, Илья (??), 10:21, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Например, чтобы можно было поставлять программный продукт на QML и не бояться, что его просто так возьмут и слямзят.
     

  • 1.24, Аноним (-), 21:15, 22/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Hotspot JIT

    Из openjdk что ли взяли или просто имя такое же выбрали?

     
     
  • 2.38, Аноним (-), 22:49, 22/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Once we had the new interpreter implemented, we then went ahead and added a relatively simple hotspot JIT ...

    JIT из OpenJDK далековат от "relatively simple", так что просто название такое же.

     
  • 2.62, Аноним (-), 09:27, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Это засланец из орацле мину заложил, чтобы по приходу проекта к успеху выкатить иск.
     

  • 1.37, iZEN (ok), 22:42, 22/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А я только что Qt5-5.10.1 на FreeBSD 11.2-BETA2 щупаю.
     
  • 1.40, Аноним (-), 23:32, 22/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Утилита qdoc переведена на libclang для разбора кода на C++

    А это печально :(

     
     
  • 2.52, Аноним (-), 01:27, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Gcc из-за gpl не очень для этого применим. Даже с самим qt под lgpl он не совместим, не говоря уже о прикладном софте, юзающем qt, который может быть и с лицензией bsd/mit, и с apache или, вообще, прости господи, проприетарной.
     
  • 2.53, Аноним (-), 01:29, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    И, скорее всего, там, вообще, до этого был свой велосипед, кривой и косой.
     

  • 1.58, Аноним (-), 08:38, 23/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    сломали qsettings под Андроид (пофиксят в 5.11.1) и webgl streaming везде
     
  • 1.66, Аноним (-), 14:51, 23/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что за попугаи на графиках?
     
  • 1.68, рара Кен (?), 21:33, 23/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    в 5.10 был мощный рывок - поддержка графики api Vulkan.
    ну а что в новой? экспериментальная версия Qt для WebAssembly не работает я ее собирал на этапе тестирования по инструкции. что до версии под питон вообще нечего говорить с 1998 года варится все никак не сварится уже 20 лет.
    может для iOS и Windows и людей с ограниченными возможностями, которые ими пользуются - это, да. но я всю дорогу в Linux а сейчас в основном осваиваю программную среду Google для Chromeos и Fuchsia. и рад бы порадоваться да как то не выходит.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру