LINUX.ORG.RU

Релиз Qt 5.11

 


1

3

Состоялся релиз кроссплатформенного фреймворка для разработки приложений и построения графических интерфейсов 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, для помощи в тестировании классов моделей.

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

★★★★★

Проверено: maxcom ()
Последнее исправление: Sunderland93 (всего исправлений: 3)

Ответ на: комментарий от saahriktu

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

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

Qt тоже распространяется в нескольких tarball'ах

, но, по сути, это одна единственная библиотека.

boost - это тоже одна единственная библиотека, которая распространяется одним тарболом.

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

но, по сути, это одна единственная библиотека.

Нет. Хватит шланговать

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

И кстати эти Warning'и это не ошибки. У меня и с ними HTTPS отлично работает.

А ты мне код этот можешь прислать? Мне надо проверить, может я что-то неправильно конфигурю.

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

Не нравится, пиши в хекс эдиторе машинным кодом. И будишь не домохозяйкой.

LinuxDebian ★★★★
()
Последнее исправление: LinuxDebian (всего исправлений: 1)
Ответ на: комментарий от grem

coolreader

Это Вы занимаетесь coolreader-ом в Gentoo? У меня он почему-то перестал работать. Удалил ~/.cr3/ не помогает (перекомпиляция тоже не помогает):

grozin@dns ~/Books/Детективы/Агата Кристи/all/Miss Marple $ cr3 02_The_murder_at_the_vicarage.fb2.zip 2018/05/23 12:54:28.7952 WARN Changing log level from 3 to 1 356 fonts loaded. 2018/05/23 12:54:28.9260 ERROR Error opening file /home/grozin/.cr3/cr3.ini for reading 2018/05/23 12:54:28.9260 ERROR Cannot load settings from file /home/grozin/.cr3/cr3.ini Ошибка сегментирования grozin@dns ~/Books/Детективы/Агата Кристи/all/Miss Marple $

Есть какие-нибудь идеи как понять, откуда segmentation fault? Или если Вы скоро предложите ebuild новой версии, то я буду очень благодарен, и буду пробовать её.

grozin
()
Ответ на: coolreader от grozin

Да, используемые в данный момент патчи предлагал я. Если у Вас он собран с gcc-7, то скорее всего проблема в этом. EXL добавил коммит, исправляются эту проблему. Сейчас жду ответа о фиксации версии. Если не дождусь, то добавлю патчи и всё-таки разобью старый на несколько (с обновлением), чтобы было проще, например, убрать поддержку wxwidgets, если понадобится.

Я наконец-то немного освоил git, поэтому добавлю pull request.

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 1)
Ответ на: комментарий от saahriktu

У юзера диалап? Либо юзера не напрягает установка из интернета пакетов на десятки гигов

А не ты топил за то что нужно использовать кои8р вместо утф8 именно потому что она меньше в байтах?

Вот ты и прокололся. Теперь ясно, что ты троль.

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

На куте ли — не знаю, а под линуксом работает довольно давно, с пробуждением.

EternalNewbie
()
Ответ на: coolreader от grozin

Или если Вы скоро предложите ebuild новой версии, то я буду очень благодарен, и буду пробовать её.

Пока вы ждёте ebuild, можете попробовать это запустить:

http://esxi.z-lab.me:666/~exl_lab/software/CoolReader_Linux_23-MAY-2018.tar.gz

Правда я собирал с помощью GCC 8.1.0, не знаю, может в Gentoo какая-то другая версия компилятора с другим ABI будет.

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от anonymous

Нет, я писал не так. UTF-8 не просто больше в байтах. Она непредсказуемо (без предварительного парсинга) то больше в байтах, то не больше. При том, что не всем нужно больше чем 256 символов. UTF-16 и UTF-32 - это уже совсем другое дело. Особенно, когда у юзера в шрифте больше чем 256 символов. С другой стороны, для того, кто не напрягается по поводу перехода на юникод, эпоха UTF-8 удобна тем, что эта UTF-8 через ASCII совместима со всеми остальными однобайтными кодировками, которые совместимы с ASCII.

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

, но, по сути, это одна единственная библиотека.

Нет, это фреймворк, скопление библиотек для разных целей, представляющих однородное OOP API.

boost - это тоже одна единственная библиотека

У них даже в логотипе написано, что это:

https://www.boost.org/doc/libs/1_66_0/boost.png

C++ LIBRARIES

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: coolreader от grozin

на гитхабе автор программы обновил тэг, я протестирую сборки и закину pull request

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

Закомпилил, запустил, вот что в консоль выдает при нажатии кнопки Go:

Запускается /build-NetworkManagerDemo-Desktop_Qt_5_10_1_GCC_64bit-Debug/NetworkManagerDemo...
qt.network.ssl: QSslSocket: cannot resolve CRYPTO_num_locks
qt.network.ssl: QSslSocket: cannot resolve CRYPTO_set_id_callback
qt.network.ssl: QSslSocket: cannot resolve CRYPTO_set_locking_callback
qt.network.ssl: QSslSocket: cannot resolve ERR_free_strings
qt.network.ssl: QSslSocket: cannot resolve EVP_CIPHER_CTX_cleanup
qt.network.ssl: QSslSocket: cannot resolve EVP_CIPHER_CTX_init
qt.network.ssl: QSslSocket: cannot resolve sk_new_null
qt.network.ssl: QSslSocket: cannot resolve sk_push
qt.network.ssl: QSslSocket: cannot resolve sk_free
qt.network.ssl: QSslSocket: cannot resolve sk_num
qt.network.ssl: QSslSocket: cannot resolve sk_pop_free
qt.network.ssl: QSslSocket: cannot resolve sk_value
qt.network.ssl: QSslSocket: cannot resolve SSL_library_init
qt.network.ssl: QSslSocket: cannot resolve SSL_load_error_strings
qt.network.ssl: QSslSocket: cannot resolve SSL_get_ex_new_index
qt.network.ssl: QSslSocket: cannot resolve SSLv3_client_method
qt.network.ssl: QSslSocket: cannot resolve SSLv23_client_method
qt.network.ssl: QSslSocket: cannot resolve SSLv3_server_method
qt.network.ssl: QSslSocket: cannot resolve SSLv23_server_method
qt.network.ssl: QSslSocket: cannot resolve X509_STORE_CTX_get_chain
qt.network.ssl: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_noconf
qt.network.ssl: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_conf
qt.network.ssl: QSslSocket: cannot resolve SSLeay
qt.network.ssl: Incompatible version of OpenSSL
qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_CTX_new
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_library_init
qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error

Xintrea ★★★★★
()
Последнее исправление: Xintrea (всего исправлений: 1)
Ответ на: комментарий от Deleted

да ладнаа, есть же Electron, Atom и еще куча всяких поделий, qt чем хуже?

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

У них даже в логотипе написано, что это:

Это они посчитали количество shared object'ов. А сама библиотека одна в одном тарболе.

saahriktu ★★★★★
()
Ответ на: coolreader от grozin

C pull request у меня может затянуться, поэтому отправил Вам ebuild-файл почтой.

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

Тулкит как тулкит.

Жиробесие, а не тулкит. Как говорится, stuff that sucks.

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

На правду не обижаются.

Как тут не согласиться с коллегой atsym и RazrFalcon

Просто ТС пытается успеть срубить как можно больше биткоинов путём штамповки новостей, из-за этого страдают теперь всё: и авторы которые пишут реже, но качественнее, и ЛОРовцы которым пихают сырые новости на главную с реактивной скоростью.
Не умеешь - не берись. Перевод очень корявый.

Но ты продолжай дальше.

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

Пердолика корёжит, что кто-то деньги зарабатывает, хехехе.

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

Но ты продолжай дальше.

Продолжу, будь уверен. Вот только это не отменяет того факта, что

Odalist - гогно. Это всем уже известно. Он обсирает почти всё.

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

Odalist

Кто-нибудь видел от этого регистранта хоть один дельный пост? Глянул историю сообщений - там практически одни вскукареки с призывами закопать безо всякой аргументации. За что у него 5 звезд?

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

Не завидуй!

Усидчивость на лОре вознаграждается зажиганием зеленых звёзд

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

За что у него 5 звезд?

Из правил:

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

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

Благодарю за разъяснение. В таком случае, вопросов нет.

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

Без доказательств это не правда, а наброс.

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

Это они посчитали количество shared object'ов. А сама библиотека одна в одном тарболе.

Просто у тебя собственная «альтернативная» терминология, никак не совпадающая с реальностью.

https://en.wikipedia.org/wiki/Qt_(software)
https://en.wikipedia.org/wiki/Boost_(C++_libraries)

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

Продолжай, превращай главную ЛОРа в бегущую строку.

Я не модератор. К счастью для ЛОРа.

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

Кто-нибудь видел от этого регистранта хоть один дельный пост?

Ну кстати, периодически он постит в галерею скриншоты со всяческих тайловых WM. Я, как человек, который собственно тайлинг не осилил, хотя периодически собирается, посматриваю с интересом.

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

Вообще код надо бы прогнать каким-нибудь статитическим анализатором, он очень старый и там куча this != null.

Вот прогнал через PVS-Studio ветку master. Gentoo amd64.

cmake -D GUI=QT5 -D CMAKE_BUILD_TYPE=Debug -D USE_UNRAR=1 -D DOC_DATA_COMPRESSION_LEVEL=5 -D MAX_IMAGE_SCALE_MUL=2 -D DOC_BUFFER_SIZE=0x1400000 -D CMAKE_EXPORT_COMPILE_COMMANDS=1 ..
make
pvs-studio-analyzer analyze -o PVS-Studio.log
plog-converter -a GA:1,2 -t fullhtml -o PVS-Studio.html PVS-Studio.log
Разбирайся, если не лень:)

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

Это потому что в 2018 году люди не могут написать свой текстовый редактор и надо такие извращения делать.

У меня тоже инструменты для разработки свои(на Qt) и в том числе что-то вроде IDE с кодом. Но я этого не показываю. И не буду показывать. Как не показывают другие компании, особенно продуктовые.

Просто не хочется чтоб потом твоим преимуществом воспользовались другие. В этом смысле я очень жадный.

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

Если бы мне было не лень, я бы сам давно прогнал или хотя бы Warning'и пофиксил :D

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

ПО на Qt 5.10 пора выкидывать?

Откуда такие фантазии? В рамках мажорной версии обычно ничего не выкидывают, только добавляют. Более того, немалая часть ПО, написанного с Qt4, собирается с Qt5 либо сразу, либо после небольшой адаптации.

Вот если кто-то, наоборот, писал программу под новые фичи 5.11 и не принял специальных мер для совместимости (там, где они имеют смысл) - то да, с 5.7, скажем, она может и не собраться.

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

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

С современным вебом это крайне тяжело. Судя по практике - почти неосуществимо. Из полноценных опенсорсных остались только хромиум и мозилловский. Лёгких чуть побольше (netsurf тот же), но с ними можно ходить только на отдельные сайты.

Да, это проблема в первую очередь самого веба, но я не вижу, как опенсорс-программисты могут её исправить в источнике (ты же не призываешь к массовым растрелам?), приходится приспосабливаться.

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

Я вот взял VisualStudio C#. Кинул на форму мышкой компонент WebBrowser, поставил в нём начальную страничку google и скомпилировал. Таким образом я написал свой браузер (без бд и шл, конечно). Исполняемый файл размером 7680 байт. https://i.imgur.com/VBTPoaj.png

Я крут?

А если серьезно никто не знает что за веб-движок встроен в этот компонент? Ёж или хром?

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

Да, это проблема в первую очередь самого веба, но я не вижу, как опенсорс-программисты могут её исправить в источнике (ты же не призываешь к массовым растрелам?), приходится приспосабливаться.

Новыми опенсорсными корпорациями? Создаётся проект Web 5.0 или даже Web 6.0, нанимается армия программистов, которые пишут новый браузер, по функциональности который настолько впереди Chromium'а и Firefox'а, насколько Chromium и Firefox функциональнее lynx'а. Юзерам начинает нравиться, и другим разработчикам браузеров тоже приходится подтягиваться. Потом другие разработчики повторяют фокус. И так оно и развивается. Не без конкуренции. А если будут только Chromium и Firefox, и всех это будет более чем устраивать, то никакого развития не будет.

saahriktu ★★★★★
()
Последнее исправление: saahriktu (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.