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

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

Страниц: 1 2 [3] 4   Вниз
  Печать  
Автор Тема: Что выбрать для десктопа?  (Прочитано 29096 раз)
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #30 : Февраль 12, 2017, 21:07 »

Все, что можно сделать на виджетах - можно сделать и на QML. А вот наоборот - увы.
А такое тоже можно?
http://www.devmachines.com/qtitandatagrid-overview.html
Есть примеры, пусть и платные? Я не в смысле подколоть, мне на самом деле интересно. Для меня вообще существенная десктоп приложений ассоциируется именно с наворочанным DBGrid. Как вы с этим в QML мире живете, или для вас этот контрол не актуален?
Записан
Отражение луны
Гость
« Ответ #31 : Февраль 12, 2017, 22:22 »

А такое тоже можно?
http://www.devmachines.com/qtitandatagrid-overview.html
Есть примеры, пусть и платные? Я не в смысле подколоть, мне на самом деле интересно. Для меня вообще существенная десктоп приложений ассоциируется именно с наворочанным DBGrid. Как вы с этим в QML мире живете, или для вас этот контрол не актуален?
Все, что там на скринах - делается нативными способами без каких-либо заморочек.
ListView с делегатами, имеющими возможность разворачиваться. В такой ListView можно поместить другой ListView и это будет работать.
Примеров реализации именно такой штуки вряд ли найду, все-таки это не очень userfrendly контрол, но если это реально нужно для какого-то проекта - могу сделать свой экзампл.
В этом случае будет лучше создать новую тему.
Я правда не в курсе всех возможностей, возможно, на реализацию каких-нибудь доп фишек типа драг-н-дропа придется потратить доп время, но это все тоже делается нативными компонентами.
« Последнее редактирование: Февраль 12, 2017, 22:25 от Komorebi » Записан
twp
Гость
« Ответ #32 : Февраль 13, 2017, 12:14 »

Мб я неправильно выразился?
Цитировать
достаньте мне отрисовку QML.
Не qml-джет для рисования.
Не проброс C++ отрисовки в QML.
Не отрисовку OpenGL на сцене.
А именно отрисовку QML.

Qt Quick Examples - Canvas, то что надо?
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #33 : Февраль 13, 2017, 13:50 »

Интересный вариант. А не могли бы вы чуть детальнее раскрыть?
В качестве JavaScript движка пока задействован QScriptEngine.
В нём зарегистрированы функции создания виджетов по имени класса, работой с БД и корбой.
Реализован на базе QUiLoader свой загрузчик форм и создатель виджетов/лэйаутов с регистрацией фабрики кастомных виджетов.
Загрузчик при загрузке форм делает QScriptEngine::evaluate() соответствующего *.js с установкой "this" на загруженный виджет.
И уже в скрипте коннектимся к сигналам и дёргаем слоты или Q_INVOKABLE методы либо пропертя.
Но, на всю эту обвязку, конечно, пришлось потратить n-ое количество времени.
Записан

Qt 5.11/4.8.7 (X11/Win)
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #34 : Февраль 13, 2017, 22:35 »

Все, что там на скринах - делается нативными способами без каких-либо заморочек.
Всё шутите... Грид подобного уровня нативным способом без заморочек...
С группировкой, фильтрацией, обобщенными строками, кастомными редакторами в ячейках, многострочными заголовками, быстрым поиском, режимом превью для строк, фиксированными колонками. Про "мелочи" в виде сортировок, автоподбора ширины и высоты ячеек, и прочих режимах cardview я и не вспоминаю.
все-таки это не очень userfrendly контрол, но если это реально нужно для какого-то проекта
Если уж это не userfrendly, то я тогда и не знаю что для вас userfrendly. Примитивный ListView а-ля список контактов в Telegram?
Как вы с БД вообще работаете из QML? Как на экран выводите хотя бы 200 записей? Как их редактируете? Есть хотя бы один скриншот реального QLM приложения, рассчитанного на работу с БД в классическом десктопном понимании этого слова?
Несколько раз уже порывался было нырнуть в эту QML пучину - всегда отсутствие хоть какого-нибудь сколь угодно разумного грида останавливало.
Записан
Отражение луны
Гость
« Ответ #35 : Февраль 13, 2017, 23:02 »

Всё шутите... Грид подобного уровня нативным способом без заморочек...
С группировкой, фильтрацией, обобщенными строками, кастомными редакторами в ячейках, многострочными заголовками, быстрым поиском, режимом превью для строк, фиксированными колонками. Про "мелочи" в виде сортировок, автоподбора ширины и высоты ячеек, и прочих режимах cardview я и не вспоминаю.
Давайте уже определимся. View - это view, и ничего больше.
Конечно на весь этот функционал придется затратить достаточное количество времени, но это время будет гарантированно меньше затраченного на реализацию аналогичного виджета. Так что в минус данной технологии это явно не засчитаешь.

Цитировать
Если уж это не userfrendly, то я тогда и не знаю что для вас userfrendly.
Все, что выглядит достаточно просто с точки зрения пользователя и не заставляет его браться за голову от огромного количества информации на экране.

Цитировать
Как вы с БД вообще работаете из QML? Как на экран выводите хотя бы 200 записей?
Без проблем. 200 записей - не так уж и много. Если их больше - вам явно нужны какие-то категории/пейджи/навигация/нечто подобное. Не заставляйте пользователя искать нужную ему информацию среди кучи ненужной.

Цитировать
Как их редактируете?
Обычно для этого реализуют форму, которая будет содержать в себе соответствующие поля.

Цитировать
Есть хотя бы один скриншот реального QLM приложения, рассчитанного на работу с БД в классическом десктопном понимании этого слова?
Я бы рад поделиться скриншотом, но не могу. Коммерческая тайна, или типа того. К тому же я не очень люблю хвалиться и выставлять на показ свои проекты.

Цитировать
Несколько раз уже порывался было нырнуть в эту QML пучину - всегда отсутствие хоть какого-нибудь сколь угодно разумного грида останавливало.
Есть как минимум 3 способа получить нормальный разумный грид.
« Последнее редактирование: Февраль 13, 2017, 23:04 от Komorebi » Записан
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #36 : Февраль 14, 2017, 23:45 »

Включу режим зануды.

Это время будет гарантированно меньше затраченного на реализацию аналогичного виджета.
Неубедительно и бездоказательно. Отсутствие скриншотов практических реализаций тому явный пример. Хотите доказать обратное - скриншот в студию.

Цитировать
Без проблем. 200 записей - не так уж и много.
Скриншот в студию.

Цитировать
Не заставляйте пользователя искать нужную ему информацию среди кучи ненужной.
В excel тоже вы тоже файлы размером >200 строк не отображете? И в word документы размером больше 3-х страниц не смотрите?

Цитировать
Обычно для этого реализуют форму, которая будет содержать в себе соответствующие поля.
Так и вижу excel, в котором для редактирования каждой ячейки нужно отдельную форму открывать. Это ведь так удобно, всего два-три лишних клика мышкой на каждую строку! А ещё можно в notepad для каждого изменения символа (ладно, упрощу - для каждой отдельной строки) отдельную форму открывать. А чего, будет работать!

Цитировать

Я бы рад поделиться скриншотом, но не могу. Коммерческая тайна, или типа того.
Скриншот - коммерческая тайна? Да ладно вам. Даже комментировать не буду, просто смешно. Заблюрьте уж содержимое своего грида если уж там настолько всё страшно. Или у вас сам интерфейс КТ?

Цитировать
Есть как минимум 3 способа получить нормальный разумный грид.
Какие же? Тоже "коммерческая тайна"? Озвучьте уже их, а лучше скриншоты, на словах я тоже много чего могу.
Записан
Отражение луны
Гость
« Ответ #37 : Февраль 15, 2017, 01:14 »

Цитировать
Неубедительно и бездоказательно. Отсутствие скриншотов практических реализаций тому явный пример. Хотите доказать обратное - скриншот в студию.
Мне без разницы. Я сюда не доказывать свои скилзы пришел, а пользу приносить. Не нравятся разумные аргументы - оставайтесь при своем мнении.
Цитировать
В excel тоже вы тоже файлы размером >200 строк не отображете? И в word документы размером больше 3-х страниц не смотрите?
Excel и word - это классические примеры отсутствия автоматизации. Я же занимаюсь автоматизацией бизнес-процессов. И ни в одном адекватном приложении ты не найдешь такой ситуации, когда пользователь будет вынужден ежедневно вносить/редактировать кучи данных. Если у тебя так - значит ты где-то облажался и чего-то недоавтоматизировал, можешь пилить любой дизайн, т.к. твое решение попросту никто не купит)
Цитировать
Так и вижу excel, в котором для редактирования каждой ячейки нужно отдельную форму открывать. Это ведь так удобно, всего два-три лишних клика мышкой на каждую строку! А ещё можно в notepad для каждого изменения символа (ладно, упрощу - для каждой отдельной строки) отдельную форму открывать. А чего, будет работать!
Это действительно удобно, для пользователя. По вашей аналогии бухгалтерам стоит работать напрямую с SQL, ведь нахера им UI, долбанул запрос - и вот тебе любой готовый отчет.

Цитировать
Скриншот - коммерческая тайна? Да ладно вам. Даже комментировать не буду, просто смешно. Заблюрьте уж содержимое своего грида если уж там настолько всё страшно. Или у вас сам интерфейс КТ?
Скриншот - нет, дизайн - да.
Зачем тебе именно мой? Погугли себе книжек по UI, посмотри как это реализовано в хороших софтинах.

Цитировать
Какие же? Тоже "коммерческая тайна"? Озвучьте уже их, а лучше скриншоты, на словах я тоже много чего могу.
GridView, Row+Column+Flickable, ListView+Column||Row, Component.createObject + делаем все что угодно ручками.
Зависит от потребностей.
« Последнее редактирование: Февраль 15, 2017, 01:26 от Komorebi » Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #38 : Февраль 15, 2017, 10:51 »

Ещё в QML мне не нравится каша из дизайна и кода. Сколько лет назад такое было в UI формах? Хотя даже в формах такого не было, т.к. там просто подключался отдельный ui.h файл, в котором и писался код. Потом уже это разделили полностью и стали делать формы через агрегацию указателя. В QML же всё в куче.

Потом ещё оказывается, что до сих пор разметка формы пишется вручную, потому что QML/Quick настолько крут, что дизайнер его до сих пор не пор поддерживает на стабильном уровне - постоянно что-то глючит и не работает, ползёт вёрстка и т.п.
Записан
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #39 : Февраль 15, 2017, 11:27 »

Мне без разницы. Я сюда не доказывать свои скилзы пришел, а пользу приносить.
Ну вот, ещё и обиделся. Мне абсолютно всё равно относительно чьих бы то ни было скилзов, мне про технологию имени QML интересно.   

Цитировать
ни в одном адекватном приложении ты не найдешь такой ситуации, когда пользователь будет вынужден ежедневно вносить/редактировать кучи данных.
Вот сейчас все пользователи бухгалтерских программ вздрогнули. А программисты SAP, 1C, Axapta и прочих систем автоматизации масштаба ERP срочно начали писать заявления об увольнении.

Цитировать
Это действительно удобно, для пользователя.
В Qt Creator тоже каждую строку кода в отдельной форме редактируешь? А чего, удобно же! ПКМ -> "вставить for" -> в появившемся окне поля "тип переменной", "начальное значение", "условие выхода", "итерация"...

Цитировать
Скриншот - нет, дизайн - да.
Дизайн UI - КТ? Мир сошел с ума.
 
Цитировать
Зачем тебе именно мой?
Где я говорил, что нужен именно твой? Покажи мне любой, разумный грид на QML.

Цитировать
Погугли себе книжек по UI, посмотри как это реализовано в хороших софтинах.
Я прекрасно знаю как это реализовано в хороших софтинах. Именно поэтому и хочу посмотреть хоть на одну хорошую реализацию именно на QML. Но почему-то не могу найти таких. Или они тоже все КТ?

Итого: продвинутые UI для отображения наворочанных табличных данных для десктопа, возможно, существуют, но они настолько секретны, что даже скриншот UI является коммерческой тайной. У меня  больше вопросов нет.
Записан
twp
Гость
« Ответ #40 : Февраль 15, 2017, 21:11 »

Включу режим зануды.

Это время будет гарантированно меньше затраченного на реализацию аналогичного виджета.
Неубедительно и бездоказательно. Отсутствие скриншотов практических реализаций тому явный пример. Хотите доказать обратное - скриншот в студию.

Цитировать
Без проблем. 200 записей - не так уж и много.
Скриншот в студию.

А в чем проблема отобразить 200 записей? Да хоть миллион - не проблема.

Код
Javascript
import QtQuick 2.5
import QtQuick.Window 2.2
import QtQuick.Controls 1.4
 
Window {
   visible: true
   width: 640
   height: 480
   title: qsTr("Test Lines")
 
   ScrollView {
       anchors.fill: parent
       ListView {
           id: listView
           anchors.fill: parent
           model: 1000000
 
           delegate: Text {
               width: listView.width
               height: 20
               text: qsTr("Item: %1").arg(index + 1)
           }
       }
   }
}
 

Весь проект во вложении.
Записан
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #41 : Февраль 15, 2017, 22:04 »

Без проблем. 200 записей - не так уж и много.
Я надеюсь в этой теме вы прочли больше, чем один конкретно этот пост. Хотелось бы увидеть как на QML потом с этими записями работают, а именно:
Цитировать
С группировкой, фильтрацией, обобщенными строками, кастомными редакторами в ячейках, многострочными заголовками, быстрым поиском, режимом превью для строк, фиксированными колонками. Про "мелочи" в виде сортировок, автоподбора ширины и высоты ячеек, и прочих режимах cardview я и не вспоминаю.
Записан
twp
Гость
« Ответ #42 : Февраль 16, 2017, 01:59 »

Читал конечно, но я намеренно процитировал именно фразу про 200 строк. Так в чем может быть проблема именно с 200 и более строками и в то же время с 50 или 150 будет все нормально?

А насчет перечисленных фич. Не являясь спецом по UI для баз данных, могу сказать, что фильтрация и сортировка делается не в QML, а в С++ бэкенде через навешивания на основную модель данных QSortFilterProxyModel или наследника QAbstractProxyModel. Редактирование прямо в ячейке - это разве проблема? Даже не знаю что-то тут комментировать. Автоподбор ширины и высоты ячеек: читайте про implicitWidth и implicitHeight. Группировка - ListView.section - не оно? В общем, при желании и достаточных навыках можно сделать все что угодно. Но, (возможно) сделать UI на виджетах будет быстрее и проще, особенно если нет достаточного опыта работы с QtQuick.
Записан
poru
Самовар
**
Offline Offline

Сообщений: 103


Просмотр профиля
« Ответ #43 : Февраль 16, 2017, 08:54 »

Цитировать
Именно поэтому и хочу посмотреть хоть на одну хорошую реализацию именно на QML. Но почему-то не могу найти таких. Или они тоже все КТ?
Подождите пожалуйста полтора года, на рынке будет новый смартфон, интерфейс оного полностью запилен на QML. Делают наши пацаны из Нижнего Новгорода, а деньги вкладывают зарубежные партнеры.
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #44 : Февраль 16, 2017, 12:28 »

Цитировать
Именно поэтому и хочу посмотреть хоть на одну хорошую реализацию именно на QML. Но почему-то не могу найти таких. Или они тоже все КТ?
Подождите пожалуйста полтора года, на рынке будет новый смартфон, интерфейс оного полностью запилен на QML. Делают наши пацаны из Нижнего Новгорода, а деньги вкладывают зарубежные партнеры.

Так никто и не спорит, что банальные интерфейсы на QML делать можно, и возможно даже проще, чем на виджетах. Речь идёт о сложных интерфейсах.
Записан
Страниц: 1 2 [3] 4   Вверх
  Печать  
 
Перейти в:  


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