Ларс Кнолл (Lars Knoll), создатель движка KHTML, руководитель проекта Qt Project и технический директор компании Qt Company, объявил (http://blog.qt.io/blog/2016/09/05/qt-5-8-alpha-released/) о доступности альфа-версии кроссплатформенного фреймворка Qt 5.8, в котором реализованы некоторые идеи инициативы Qt Lite (https://www.opennet.me/opennews/art.shtml?num=44991). Релиз ожидается в конце ноября.Особенности (https://wiki.qt.io/New_Features_in_Qt_5.8) Qt 5.8:
- С целью избавления Qt Quick от привязки к OpenGL и обеспечения независимости от графического API значительно переработана (http://blog.qt.io/blog/2016/08/15/the-qt-quick-graphics-stac.../) архитектура графической подсистемы, что дало возможность применения эффективных программных методов отрисовки на системах не поддерживающих OpenGL. Кроме программной отрисовки (QT_QUICK_BACKEND=software) также подготовлен бэкенд для DirectX 12 (QT_QUICK_BACKEND=d3d12). Функциональность модуля Qt Quick 2D Renderer интегрирована в Qt Declarative;
- В движке выполнения QML реализована новая инфраструктура кэширования, позволяющая кэшировать QML-файлы в предкомпилированном бинарном представлении. Кэширование дало возможность значительно ускорить повторную загрузку QML-приложений и сократить потребление памяти. Поддержка упреждающей компиляции Qt Quick будет продолжена в рамках коммерческого продукта Qt Quick Compiler;
- Включены наработки по обеспечению гранулированной сборки, позволяющие собирать модули, выборочно активируя только необходимую функциональность. Отныне Qt позволяет не только манипулировать подключением отдельных модулей, но и управлять составом модулей. Отключенная функциональность не включается в сборку, что позволяет создавать урезанные конфигурации, пригодные для использования на встраиваемых системах с ограниченным размером оперативной памяти и хранилища. По предварительным оценкам новая система сборки позволяет уменьшить размер статически связанного приложения Qt Quick на 70%, по сравнению с Qt 5.6;
- В Qt Quick Controls 2 добавлены новые QML-типы Dialog, DialogButtonBox, MenuSeparator, RoundButton и ToolSeparator, а также экспериментальные типы MenuBar, Menu, SystemTrayIcon, ColorDialog, FontDialog, MessageDialog, FileDialog и FolderDialog;
- Модули Wayland Compositor, SCXML и Serial Bus, которые ранее предлагались (https://www.opennet.me/opennews/art.shtml?num=44614) для тестирования в качестве ознакомительных выпусков (Technology Preview), переведены в разряд полностью поддерживаемых;
- Добавлен экспериментальный модуль Qt Speech, представляющий средства для синтеза и распознавания речи. Модулем поддерживается несколько бэкендов для разных систем синтеза речи в macOS, Android, Windows и Linux;
- Добавлен экспериментальный модуль Qt Network Authentication с реализаций протоколов аутентификации OAuth 1 и OAuth 2;
- Объявлен устаревшим модуль Qt Script, который будет удалён в одном из будущих выпусков.URL: http://blog.qt.io/blog/2016/09/05/qt-5-8-alpha-released/
Новость: http://www.opennet.me/opennews/art.shtml?num=45085
Неплохо, если они софтварный рендринг сделают шустрым.
Идея Qt Lite мне тоже очень импонирует.А QtSpeech я уже использую. Есть на гитхабе https://github.com/qt/qtspeech .
> Есть на гитхабеЕсть на офф. хостинге: https://code.qt.io/cgit/qt/qtspeech.git/
Да оно все равно для 5-ки.
А мне для 4-ки надо было. Пришлось почикать.
А где описание проекта? Что он делает?
А подскажите знатоки, если на с++ qt5 юзать, там moc все еще нужен?
Да
Спасибо. Тогда, продолжает гореть в аду.
А чем вам moc помешал? У вас есть что-то лучше для привязки событий на плюсах?
Не приставайте к человеку, у него фобия.
Возможно его в детстве изнасиловал препроцессор.
картой памяти ))
qt - это вообще-то единственный тулкит, которому нужен костыль в виде moc.
На современных плюсах (C++11 и выше) давно уже можно на лямбдах такие вещи переписать. И метаинформацию с рефлексией в QObject можно сейчас реализовать даже без макросов (правда выглядеть это будет опять ужасно и велосипедно).
Но из Qt moc никуда не денется - это прекрасно понятно. Я недоволен им только тем, что ошибки в логах сборки, связанные с метаобъектной системой Qt, требуют иногда залезть в эти генерированные исходники.
> Тогда, продолжает гореть в аду.Ты букву "з" потерял в последнем слове (видно, сильно горит).
Не нужен, если не создавать свои сигналы.
Рассылка сигналов - это давно известный паттерн Observer, который можно было бы реализовать и на голом C++. Начиная с C++11 это становится ещё удобнее. И метаобъектную систему можно было бы написать отдельным модулем даже без макросов.
Так что moc - это легаси, я считаю.
moc нужен qmake, если собирать qbs то его просто не будет
Обидно что Qt Quick стал частью Qt Declarative (читай - Qt QML). QML же многие не любят, а так придётся заодно не любить и Qt Quick. Или насильно полюбить QML.
В QML нет ничего плохого. Один из лучших языков для создания интерфейсов.
Я тоже так считаю! Интерфейсы быстрые и красивые получаются.
Медленные и прожорливые, ведь> Кэширование дало возможность значительно ускорить повторную загрузку QML-приложений и сократить потребление памяти.
только-только реализовали.
еще на первых бетах пятерки мы запускали достаточно сложные интерфейсы на первой малинке. даже тогда все было не так уж и плохо с производительностью. некоторые места конечно приходилось думать, как ускорить, но ничего выкидывать не пришлось.
А что, кроме отрисовки интерфейса, ресурсы больше никуда не нужны?
не нужны. moc (если программист использующий его не идиот) создаёт минимальный накладной расход
> Медленные и прожорливые, ведьс чего бы это? прув давай или gtfo
>> Медленные и прожорливые, ведь
> с чего бы это? прув давай или gtfo
Ты бы хоть сам сходил по этой ссылке, почитал, прежде чем её в качестве "прува" указывать
Полностью согласен!
А он не был его частью когда-то? В qt5 наоборот появилась возможность использовать qml без quick
Наоборот - все стало как надо!
> Обидно что Qt Quick стал частью Qt Declarative (читай - Qt QML).
> QML же многие не любят, а так придётся заодно не любить
> и Qt Quick. Или насильно полюбить QML.Ликбез: QML - язык программирования и движок, Qt Quick - набор компонентов для QML.
Посмотри что от чего зависит.BuildRequires: pkgconfig(Qt5Network) >= %{version}
BuildRequires: pkgconfig(Qt5OpenGL) >= %{version}
BuildRequires: pkgconfig(Qt5Sql) >= %{version}Нет зависимости отQtDeclarative
Qt Declarative - это Qt Quick 1 и сам движок (т.е. QML из Qt4). В Qt5 появилась новая версия движка (QML) и набора компонентов (Qt Quick 2), которые, к тому же, разделили на отдельные модули. Впрочем, репозиторий в гите пока один и называется qtdeclarative.
На правах рекламыДоступна сборка QT 5.6 для SUSE Enterprise Linux. http://download.opensuse.org/repositories/home:/linux4humans.../ Пока нет поддержки CUPS, и пока не собирал WebKit - всё в процессе. Если на Опеннете есть живые пользователи SUSE Enterprise Linux - пользуйтесь.
QT = Qt (быстрофикс) И директорией выше лежат пакеты для SLE 11 и 12
Простите за серость, как простому юзверю собрать SLED 12 c KDE Plasma 5 (ведь по умолчанию там только гном)?
Для начала, склонируйте себе репо KDE:Qt56. Почему официальное, а не моё? Я создал своё репо только потому, что я пользуюсь 11-й версией, а сборки Qt5 есть только для 12-й.Затем добавьте в своё домашнее ерпо пакеты с KDE5. Посмотрите что не собралось, почините. Всё.
Я уверен что сборки KDE5 для SLE12 есть и так, и не надо ничего собирать. Сходу не нашёл.
Забудьте всё, что я написал выше. http://download.opensuse.org/repositories/KDE:/Frameworks5/S.../
Большое вам спасибо! А не знаете ли, есть ли в природе мета-пакет, который сам притянет все необходимое для KDE Plasma 5?
Ставь Ubuntu и не парься!
Предлагать человеку, который более 8 лет основной системой использует openSUSE, Ubuntu?
Да Вы шутник, батенька!
> Предлагать человеку, который более 8 лет основной системой использует openSUSE, Ubuntu?
> Да Вы шутник, батенька!А у меня предприятие просто. Ubuntu тут не нужна.
По теме KDE5. Удали yast2-gtk и оставь только yast2-qt. В GTK-интерфейсе нет кнопки "Перевести пакеты на версии из этого репозитория".
Qt Lite - это сила! Последний гвоздь в гроб всех остальных фреймворков!
Чем заменят Qt Script?
И опять ни слова про PySide2, они его как бы пилят, как бы обещали что всё будет, но что-то печально всё
> Чем заменят Qt Script?QJSEngine из qtqml
Хорошо хоть не вэбкит.
вопрос типичного "иксперта" опеннета
>Объявлен устаревшим модуль Qt Script, который будет удалён в одном из будущих выпусков.Если мне не изменяет память его объявили устаревшим ещё во времена Qt4 и так с тех пор после каждого нового релиза собираются удалить, но всё никак не удалят.
Может ты поможешь?
unity, kde, plasma
Sailfish UI, Jolla UI, Blackberry OS 10 UI, Maemo UI
PS. это что за модерация тут такая? комментарий ровно с тем же содержанием, что этот, был удалён. потрудитесь объяснить, церберы?
> PS. это что за модерация тут такая? комментарий ровно с тем же содержанием, что этот, был удалён. потрудитесь объяснить, церберы?могу предположить, что вы отвечаете на вброс который потерли вместе со всей веткой комментов;)
>С целью избавления Qt Quick от привязки к OpenGLСначала усиленно впиливали OpenGL в Qt, теперь выпиливают. Все как всегда.
Теперь не выпиливают, а отвязывают, т.к. не везде есть хорошие драйверы, да и не только же OpenGL есть.
> В Qt Quick Controls 2 добавлены новые QML-типы Dialog, DialogButtonBox, MenuSeparator, RoundButton и ToolSeparator, а также экспериментальные типы MenuBar, Menu, SystemTrayIcon, ColorDialog, FontDialog, MessageDialog, FileDialog и FolderDialog;Странно даже представить, что раньше этого не было. Как-то не приходилось раньше особо пользоваться Qt-приложениями, пару раз что-то запускал, но как-то не обратил внимание: неужели там нет разделителей в меню и на тулбарах и стандартных диалогов для открытия файлов и тому подобного?
Была первая версия Qt Quick Controls в котором всё это было.
Если кто-то хотел использовать вторую версию, то мог недостающие элементы брать из первой версии