Аватар для Воротислав
127 / 105 / 27
Регистрация: 25.02.2010
Сообщений: 451

Релиз Qt 5.8

24.01.2017, 07:13. Показов 2840. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Господа, всем доброго времени суток. Вчера был релиз новой версии Qt, и в патч-ноуте прочитал про новые вещи в Qt Quick Controls 2.
На Quick только думаю начать переходить, в связи с этим у меня вопрос. Чтобы писать обычные desktop-приложения, с табличками, своими моделями, работой с сетью и БД, без особых визуальных излишеств, controls2 уже можно использовать? Если нет, то что посоветуете? Заранее благодарен.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.01.2017, 07:13
Ответы с готовыми решениями:

Ошибка в релиз-версии
Решил сделать возможным запуск приложения без отображения GUI. Для этого анализирую переданные приложению параметры. При запуске...

Релиз или эррор запуске
Как её решать? Папка платформс есть, в ней библиотека qwindows. В наличии VS 2012 и уже скомпилированный релиз. Пытаюсь запустить...

Релиз для Astra Linux
Написала не большую программку пол Линукс для прослушивания UDP порта и выключения компа, теперь мне надо собрать релиз и еще поместить в...

27
 Аватар для Wyn
1072 / 654 / 229
Регистрация: 14.01.2016
Сообщений: 2,031
Записей в блоге: 9
24.01.2017, 14:12
Цитата Сообщение от Воротислав Посмотреть сообщение
Чтобы писать обычные desktop-приложения, с табличками, своими моделями, работой с сетью и БД, без особых визуальных излишеств, controls2 уже можно использовать?
Это можно было делать ещё на controls1. Использование QML на desktop ограничивает другое - отсутствие крупных дефолтных виджетов, очень много приходится настраивать и прописывать руками. Работа с сетью, файлами и прочими вещами всё также остаётся прерогативой С++ части Qt. Quick - это только про UI, фронтенд.
1
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
24.01.2017, 14:41
В Qt Quick Controls 2 нет таблиц, поэтому придется тащить Qt Quick Controls 1, а также для БД и QtQuick нужно сетить роли.
1
 Аватар для Воротислав
127 / 105 / 27
Регистрация: 25.02.2010
Сообщений: 451
24.01.2017, 16:48  [ТС]
Wyn, понял. А controls1 нормально себя чувствуют? Где-то читал, что они любят крашится. Меня не пугает бэкенд на плюсах, я пока не могу определиться что именно изучать :-) А если, скажем, затем в controls2 добавят новые элементы, легко ли проходит миграция с controls1 на controls2?
0
 Аватар для Wyn
1072 / 654 / 229
Регистрация: 14.01.2016
Сообщений: 2,031
Записей в блоге: 9
24.01.2017, 17:05
Воротислав, конечно. С момента выпуска controls1 прошло довольно много времени. Всё, что могли исправить - исправили.
Миграция с controls1 на controls2 проистекает нормально. По большей части интерфейсы у них одинаковы, но довольно много и и отличий.
С выходом Qt 5.8 controls 2 можно вполне использовать на desktop, главное - выставить у них недефолтный стиль, иначе hover не будет работать.
1
 Аватар для Воротислав
127 / 105 / 27
Регистрация: 25.02.2010
Сообщений: 451
24.01.2017, 17:15  [ТС]
Wyn, спасибо большое! И еще вопрос, при использовании control1->tableview модель, я так понимаю, остаётся та же что и была QAbstractTableModel? То есть тут как раз и будет, модель (бэкенд) на плюсах, вьюшка на контролах?
Цитата Сообщение от Wyn Посмотреть сообщение
выходом Qt 5.8 controls 2 можно вполне использовать на desktop
А при использовании и тех, и тех контролов (на сколько я читал, вторые контролы намного менее прожорливы) всё получается нормально, я так понимаю, без лишних бубнов?
0
 Аватар для Wyn
1072 / 654 / 229
Регистрация: 14.01.2016
Сообщений: 2,031
Записей в блоге: 9
24.01.2017, 17:42
Лучший ответ Сообщение было отмечено Воротислав как решение

Решение

Воротислав, Нет, механизм модель/представление отличается в QML. В QML в качестве столбцов используются не index.column, а index.roles. Модель в QML лучше представить как список или как дерево с одним столбцом, который имеет кучу ролей для отображения. Отсюда - куча отличий. Как вы распишите эти роли, сделав для них делегат, или распихав их по столбцам, или что-то смешанное - зависит от вас. Плюс QML поддерживает свои собственные модели.
Models and Views in Qt Quick

Controls 2 на дефолтном стиле намного менее прожорливы? Само собой. Но ещё большее отличие в том, что они производительнее на порядок. Сам проверял, они создаются раз в 10 быстрей, чем controls1. На мобильных устройствах это критично.
Насчёт конфликтности скажу, что особых проблем в использовании controls1 с controls2 я не встречал. Но, честно говоря, таких ситуаций у меня не сказать, что много было. Что такого осталось в controls1, чего нет в controls2? Только ListView, TableView и TreeView. Не сказать, что они так часто нужны.
1
 Аватар для Воротислав
127 / 105 / 27
Регистрация: 25.02.2010
Сообщений: 451
24.01.2017, 17:43  [ТС]
Wyn, Благодарю!
0
26.01.2017, 22:56

Не по теме:

Цитата Сообщение от Dmitriy_M Посмотреть сообщение
В Qt Quick Controls 2 нет таблиц, поэтому придется тащить Qt Quick Controls 1, а также для БД и QtQuick нужно сетить роли.
Что полное УГ ...
Цитата Сообщение от Wyn Посмотреть сообщение
В QML в качестве столбцов используются не index.column, а index.roles.
Я вообще-то думал это баг... то есть по нормальному нельзя и народ делает через опу роли

0
27.01.2017, 08:39

Не по теме:

Цитата Сообщение от Avazart Посмотреть сообщение
Я вообще-то думал это баг... то есть по нормальному нельзя и народ делает через опу роли
Да ты что. Ты сам подумай как над действующей инфраструктурой организовать предоставление нормальных ролей в QML - и получишь тоже самое решение, которое применено.
Controls ведь в основном делался не для desktop, а для мобилок и embedded. А там свои нормы - там столбцы нафиг не нужны, они мало где используются. Там используются прокручивающиеся списки, в которых делегаты всё что надо берут из БД. Представь себе, если бы это надо было организовывать не через роли, а через прямое указание столбцов - вот это было бы действительно УГ. А т.к. используются строки, то отсюда проистекает решение использовать только первый столбец любой таблицы и роли - это гораздо быстрее.
Я лично надеюсь, что в Qt6 на смену придёт более адекватная система, которая как минимум даст возможность выбора между использованием строк/ролей и использованием полноценного табличного представления.

0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
27.01.2017, 10:16
Я могу выложить свою обертку над QtSql для QML. Там SqlQueryModel для полей ответа, прописывает соответствующие роли.
1
 Аватар для Воротислав
127 / 105 / 27
Регистрация: 25.02.2010
Сообщений: 451
27.01.2017, 10:25  [ТС]
Dmitriy_M, если не сложно, будьте любезны)
0
Эксперт С++
 Аватар для Avazart
8483 / 6150 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
27.01.2017, 13:36
Цитата Сообщение от Wyn Посмотреть сообщение
Да ты что. Ты сам подумай как над действующей инфраструктурой организовать предоставление нормальных ролей в QML - и получишь тоже самое решение, которое применено.
А какие проблемы?
Организовать QML то же что и C++Qt? Я не вижу проблем, вижу необходимость... ибо без этого все плюсы от qml нивелируются.

Цитата Сообщение от Wyn Посмотреть сообщение
А там свои нормы - там столбцы нафиг не нужны, они мало где используются. Там используются прокручивающиеся списки, в которых делегаты всё что надо берут из БД
Не вижу никаких проблем наряду со списками иметь табличное представления, одно другом не мешает.

Поэтому для меня это баг, и повод не использовать qml для десктоп пока его не исправят.
0
 Аватар для Wyn
1072 / 654 / 229
Регистрация: 14.01.2016
Сообщений: 2,031
Записей в блоге: 9
27.01.2017, 15:58
Цитата Сообщение от Avazart Посмотреть сообщение
Не вижу никаких проблем наряду со списками иметь табличное представления, одно другом не мешает.
Видно это не сильно востребовано, раз ещё никто не потрудился реализовать подобное.
0
Эксперт С++
 Аватар для Avazart
8483 / 6150 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
27.01.2017, 16:16
Цитата Сообщение от Wyn Посмотреть сообщение
раз ещё никто не потрудился реализовать подобное.
"Никто" это разработчики Qt ? Как я уже говорил "все городят" таблицы через роли потому что иначе нельзя.
И что значит не востребовано?
Связать БД и вывести в табличном виде не востребовано, ладно с телефонами как насчет десктоп и планшетов?
0
 Аватар для Wyn
1072 / 654 / 229
Регистрация: 14.01.2016
Сообщений: 2,031
Записей в блоге: 9
27.01.2017, 16:19
Цитата Сообщение от Avazart Посмотреть сообщение
"Никто" это разработчики Qt ? Как я уже говорил "все городят" таблицы через роли потому что иначе нельзя.
И что значит не востребовано?
Связать БД и вывести в табличном виде не востребовано, ладно с телефонами как насчет десктоп и планшетов?
Ты же прекрасно в курсе, что Qt в том числе и opensource. Можешь скинуть ссылку хотя бы на один вменяемый патч, который закоммитили в Qt по этой проблеме и который не прошёл?
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
27.01.2017, 16:22
Цитата Сообщение от Avazart Посмотреть сообщение
планшетов?
Планшеты ничуть не лучше телефонов.
0
Эксперт С++
 Аватар для Avazart
8483 / 6150 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
27.01.2017, 16:29
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Планшеты ничуть не лучше телефонов.
Размер дисплея все же достаточный для отображения таблиц.

Цитата Сообщение от Wyn Посмотреть сообщение
Ты же прекрасно в курсе, что Qt в том числе и opensource. Можешь скинуть ссылку хотя бы на один вменяемый патч, который закоммитили в Qt по этой проблеме и который не прошёл?
А при чем тут патч? Это должны править разрабы, ибо это по сути ядро... и патчем тут не обойтись...
0
 Аватар для Wyn
1072 / 654 / 229
Регистрация: 14.01.2016
Сообщений: 2,031
Записей в блоге: 9
27.01.2017, 16:37
Цитата Сообщение от Avazart Посмотреть сообщение
А при чем тут патч? Это должны править разрабы, ибо это по сути ядро...
Да что вы говорите? С каких это пор виджеты стали ядром? Разрабы были заняты другими вещами - портом остального балласта на Controls2 и ещё кучей дел. Если меня что-то достаёт - я иду и исправляю, отправляю патч. Его принимают. Я честно скажу, если бы мне это надо было - я бы запилил QML таблицу на колонках и modelindex'ах. Но оно мне не надо. На свете есть куча людей, которые могут запилить такую таблицу. Скорее всего можешь и ты. И раз никто ещё не выделил своё время для того, чтобы её запилить - значит она не нужна. Значит она не стоит того.
Цитата Сообщение от Avazart Посмотреть сообщение
Размер дисплея все же достаточный для отображения таблиц.
А зачем им это? Для таблиц есть excel. В большинстве же случаев разрабы пихают таблицы в свои проекты, просто потому, что они не желают тратить время и деньги на написание вменяемых делегатов к этим таблицам. Всё равно юзер и так сожрёт.
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
27.01.2017, 16:41
Цитата Сообщение от Avazart Посмотреть сообщение
Размер дисплея все же достаточный для отображения таблиц.
Как пользователь планшета, единственное приложение где нужны таблицы- это офис MS/Google и т.д. И то я ими ни разу на планшете не использовал.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.01.2017, 16:41
Помогаю со студенческими работами здесь

Проект Qt. Релиз для работы
Здравствуйте, объясните пожалуйста, что нужно сделать для того чтобы получить готовую к работе программу(то есть программу запускать...

Qt Creator и опции релиз-сборки
Программа собирается в QtCreator, который использует g++. Нужно чтоб в релиз-сборке g++ запускался с ключом -s и не пихал в код программы...

Релиз проекта QT с поддержкой SQL
Доброго времени суток. Излагаю суть: создал проект с tableview, использую SQLite3, собрал релиз с помощью windeployqt.exe, закинул еще...

Релиз
У меня в проекте есть картинки, хочу что б при релизе они упаковались в ехе или так нельзя? Как тогда хранить файлы, картинки, звуки- что б...

Релиз 8.5.3
Кто-нибудь знает когда будет релиз Релиз 8.5.3? Хоть и 8.5.2. был относительно недавно, но может быть кто-нибудь знает когда будет новый? И...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

Новые блоги и статьи
JWT аутентификация в ASP.NET Core
UnmanagedCoder 18.06.2025
Разрабатывая веб-приложения, я постоянно сталкиваюсь с дилеммой: как обеспечить надежную аутентификацию пользователей без ущерба для производительности и масштабируемости? Классические подходы на. . .
Краткий курс по С#
aaLeXAA 18.06.2025
Здесь вы найдете все необходимые функции чтоб написать програму на C# Задание 1: КЛАСС FORM 1 public partial class Form1 : Form { Spisok listin = new Spisok(); . . .
50 самых полезных примеров кода Python для частых задач
py-thonny 17.06.2025
Эффективность работы разработчика часто измеряется не количеством написаных строк, а скоростью решения задач. Готовые сниппеты значительно ускоряют разработку, помогают избежать типичных ошибок и. . .
C# и продвинутые приемы работы с БД
stackOverflow 17.06.2025
Каждый . NET разработчик рано или поздно сталкивается с ситуацией, когда привычные методы работы с базами данных превращаются в источник бессонных ночей. Я сам неоднократно попадал в такие ситуации,. . .
Angular: Вопросы и ответы на собеседовании
Reangularity 15.06.2025
Готовишься к техническому интервью по Angular? Я собрал самые распространенные вопросы, с которыми сталкиваются разработчики на собеседованиях в этом году. От базовых концепций до продвинутых. . .
Архитектура Onion в ASP.NET Core MVC
stackOverflow 15.06.2025
Что такое эта "луковая" архитектура? Термин предложил Джеффри Палермо (Jeffrey Palermo) в 2008 году, и с тех пор подход только набирал обороты. Суть проста - представьте себе лук с его. . .
Unity 4D
GameUnited 13.06.2025
Четырехмерное пространство. . . Звучит как что-то из научной фантастики, правда? Однако для меня, как разработчика со стажем в игровой индустрии, четвертое измерение давно перестало быть абстракцией из. . .
SSE (Server-Sent Events) в ASP.NET Core и .NET 10
UnmanagedCoder 13.06.2025
Кажется, Microsoft снова подкинула нам интересную фичу в новой версии фреймворка. Работая с превью . NET 10, я наткнулся на нативную поддержку Server-Sent Events (SSE) в ASP. NET Core Minimal APIs. Эта. . .
С днём независимости России!
Hrethgir 13.06.2025
Решил побеседовать, с утра праздничного дня, с LM о завоеваниях. То что она написала о народе, представителем которого я являюсь сам сначала возмутило меня, но дальше только смешило. Это чисто. . .
Лето вокруг.
kumehtar 13.06.2025
Лето вокруг. Наполненное бурями и ураганами событий. На фоне магии Жизни, священной и вечной, неумелой рукой человека рисуется панорама душевного непокоя. Странные серые краски проникают и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru