Russian Qt Forum
Ноябрь 23, 2024, 08:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2 3   Вниз
  Печать  
Автор Тема: QML, нужно ли?  (Прочитано 22762 раз)
deMax
Хакер
*****
Offline Offline

Сообщений: 600



Просмотр профиля
« : Март 06, 2014, 12:38 »

Есть приложение с двумя типами визуальных виджетов - opengl 2d(очень много объектов и ресурсов) и opengl 3d, базой данных и математикой. Так же присутствует простенький интерфейс к этим графическим элементам(кнопки, текст, таблицы и окна). Есть ли смысл переделать интерфейс в QML и насколько это сложно?
Критична стабильность приложения.
Записан
OKTA
Гость
« Ответ #1 : Март 06, 2014, 13:25 »

Если интерфейс простой и не требует всяких красивостей - оставь как есть)
Записан
deMax
Хакер
*****
Offline Offline

Сообщений: 600



Просмотр профиля
« Ответ #2 : Март 06, 2014, 13:46 »

OKTA, хочется проработать вопрос переноса GUI в QML. Насколько это реально - т.е. прикрутить к бизнес-логике QML и 2 элемента на opengl (Виджеты 2d и 3d тяжелые и красивые в QML не засунуть). При этом структура должна быть красивой и без костылей.
Записан
OKTA
Гость
« Ответ #3 : Март 06, 2014, 14:08 »

Да конечно реально)) а что за виджеты тяжелые и красивые? покажи, может не проблема тоже будет перенести.
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #4 : Март 06, 2014, 14:22 »

таблицы и окна

В QML все виджеты для отображения данных представляют собой View, в который ты должен установить модель с данными. Если у тебя таблица - это QTableWidget, то придётся серьёзно переделывать. Также в QML нет диалогов, есть только окно с возможностью сделать его модальным. Функциональность диалога придётся писать самому.
Записан
deMax
Хакер
*****
Offline Offline

Сообщений: 600



Просмотр профиля
« Ответ #5 : Март 06, 2014, 15:21 »

Цитировать
Если у тебя таблица - это QTableWidget, то придётся серьёзно переделывать.
Интерфейс не сложный, у меня есть БД, и нужно отредактировать некоторые таблицы целиком. Выводить результаты sql запросов в табличном виде. Все остальное кнопки, диалоги, настройки.

Цитировать
а что за виджеты тяжелые и красивые? покажи, может не проблема тоже будет перенести.
2д - рисуется больше тысячи значков и несколько картинок загружаемые из гигабайтного архива. математика рисования простая - просто выводиться много изображений и линий в нужных координатах, постоянно обновляется(просчитанных в отдельном модуле). Обратная связь на мышку.
3д - отображение физического объекта и информация по нему, мониторинг состояния без воздействия на него(освещенность, тени... ).

В полном экране виден только один виджет 3d/2d.

А можно красивый пример приложения где бизнес логика на qt с++, gui на qml и поддержка своих виджетов.
---
Что меня смущает в QML, если приложение будет запускаться на машинах не самой высокой производительности. Какие потери по сравнению с чистым opengl?
Можно даже без использования виджетов, просто отобразить две области на чистом opengl.
« Последнее редактирование: Март 06, 2014, 15:29 от deMax » Записан
OKTA
Гость
« Ответ #6 : Март 06, 2014, 15:33 »

Кстати, посмотрел сейчас, в QtQuick.Controls 1.0 есть TableView, так что с таблицей тоже особых проблем не будет.
На сколько мне известно, в 5-й версии Qt может использовать движок Opengl для отрисовки qml.
А примеры поискать надо - вот нашелся красивенький https://blog.qt.digia.com/blog/2013/12/10/cross-platform-applications-in-ios-and-android-stores-with-qt/
Записан
deMax
Хакер
*****
Offline Offline

Сообщений: 600



Просмотр профиля
« Ответ #7 : Март 06, 2014, 15:58 »

Мне наоборот, нужно в произвольных областях отрисовывать напрямую на opengl(боюсь через QML тормоза будут).
Можно ли на QML реализовать что то похожее на Eclipse(многооконный интерфейс в одном окне).
Записан
OKTA
Гость
« Ответ #8 : Март 06, 2014, 17:52 »

Все можно) Было бы желание)))
А насчет тормозов и остального - проверь) Примеры реализации "openGl через qml" есть.
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #9 : Март 06, 2014, 20:28 »

Кстати, посмотрел сейчас, в QtQuick.Controls 1.0 есть TableView, так что с таблицей тоже особых проблем не будет.

Как же не будет, если это просто view. В QTableWidget все данные хранятся внутри него, а в случае QML все данные придётся выносить в модель, прописывать роли столбцам и заниматься всякой фигнёй типа ручной сортировки через QSortFilterProxyModel, ибо QML-вские view сортировку не поддерживают.

На сколько мне известно, в 5-й версии Qt может использовать движок Opengl для отрисовки qml.

Он не только может, он и использует всегда. На системе без ускоренного OpenGL скорость отрисовки QML становится намного печальней.
« Последнее редактирование: Март 06, 2014, 21:00 от Alex Custov » Записан
deMax
Хакер
*****
Offline Offline

Сообщений: 600



Просмотр профиля
« Ответ #10 : Март 07, 2014, 07:34 »

Насколько реально в QML реализовать мультиоконный интерфейс, главное окно разбито на части, в каждой части отображается свое содержимое и пользователь может манипулировать окнами(по типу Photoshop, Eclipse...).
Два окна(области) должны быть на чистом opengl(соединение с данными напрямую, биз сигналов и слотов). Видел я приложение на java из схожей предметной области в части 3d - производительность очень не устраивает.
Записан
OKTA
Гость
« Ответ #11 : Март 07, 2014, 09:27 »

Понятно, что все просто так не будет работать и придется помучиться  Смеющийся

Товарищ deMax, все реально - просто все зависит от вашего личного желания опробовать эту технологию)))

Вот еще всякие красивости на qml с исходниками http://quitcoding.com/?page=work#ledscreen
Записан
deMax
Хакер
*****
Offline Offline

Сообщений: 600



Просмотр профиля
« Ответ #12 : Март 11, 2014, 11:35 »

А есть хорошие примеры? Дизайн на QML, логика на C++, поддержка виджетов и opengl.

Правильно ли я понял, что в Qt5 советуют переходить на интерфейс создаваемый через QML. QUiLoader для динамического интерфейса в Qt5 уже не рекомендуется?


Записан
deMax
Хакер
*****
Offline Offline

Сообщений: 600



Просмотр профиля
« Ответ #13 : Октябрь 16, 2014, 08:10 »

Товарищ deMax, все реально - просто все зависит от вашего личного желания опробовать эту технологию)))
Желание есть, но нет желания получить на выходе тормозящий интерфейс. С другой стороны интерфейс программы для QML(кроме двух виджетов в opengl) достаточно прост, анимация только у значков.

p.s.
Запускал на версии 5.0 пример с combobox для выбора шрифта - тормоза просто неприемлемые.
Запускал на версии 5.3 примеры, имхо многовата нагрузка на проц. Да QML красиво, но эффект веб сайта - что то кликнул и ждешь ответ сервера.
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #14 : Октябрь 16, 2014, 09:20 »

Я на 5.3 запускал примеры и мне не очень понравилась прорисовка шрифтов - муть
Записан
Страниц: [1] 2 3   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.051 секунд. Запросов: 22.