Название: Что выбрать для десктопа? Отправлено: titan83 от Февраль 07, 2017, 21:37 Здравствуйте, уважаемые коллеги.
Не с целью холивара, а в поисках истины. Планирую писать приложение-замену существующему (писалось с 1999 года на Visual Studio 6). Пишу, естественно, на Qt. Но загвоздка в выборе парадигмы для Gui: то ли взять виджеты (с ними есть определенный опыт), то ли Qml (с ним опыта очень мало, и не в продакшене). Виджеты понятны, они мне нравились, но потом я поразбирался с Qml и осознал, что его концепция мне намного ближе (описание интерфейса, динамическая загрузка из файлов любых элементов, JavaScript). Бэкэнд (модели) будут по-любому на плюсах. Поэтому сейчас хочу для себя понять: можно ли использовать Qml в продакшене для десктопа, и если да, то что именно применять (Quick Controls или Quick controls 2)? Приложение хотелось бы делать не совсем уж хипстерским (для хим. лабораторий), т.е. нужны и традиционные элементы (меню хотя бы)). Очень интересуют мнения людей, которые делали на Qml реальные законченные приложения и, желательно, "не в стол")) Спасибо. Название: Re: Что выбрать для десктопа? Отправлено: Alex Custov от Февраль 08, 2017, 00:32 QML хорош, когда ВЕСЬ проект написан на нём. Когда у тебя половина API на С++, то начинаются такие извращения, что мало не покажется.
Название: Re: Что выбрать для десктопа? Отправлено: Отражение луны от Февраль 08, 2017, 02:09 QML хорош, когда ВЕСЬ проект написан на нём. Когда у тебя половина API на С++, то начинаются такие извращения, что мало не покажется. QML хорош и в использовании с моделями на плюсах, если проект спроектирован без ляпов. Очень интересуют мнения людей, которые делали на Qml реальные законченные приложения и, желательно, "не в стол")) Вел один относительно крупный проект (для десктопа) с регулярными обновлениями 3 года (или даже больше). UIная часть делалась полностью мной и с нуля. Проект жив по сей день, просто я им уже не занимаюсь. Работало все на парке довольно устаревших машин, пролагиваний по вине QtQuick не случалось никогда. Спасибо. Никаких проблем за это время с QML не обнаружил. Наоборот, он показал себя крайне гибким, из плюсов: - Снижение трудозатрат, уменьшение времени выпуска обновлений - Абсолютная гибкость, отсутствие каких-либо ограничений в реализации тех или иных идей - Простота создания адаптивного дизайна, нативная поддержка сенсорных экранов и прочих плюшек. - Возможность быстрого создания рабочих прототипов с целью их тестирования на userfrendly, абстрация UIной части от "бекенд"-логики, что позволяет вести разработку и отладку куда более удобно и эффективно. - Полная асинхронность/eventloop и js. В современном мире без них никуда. Среди контролов конечно же стоит выбрать вторые, хотя лично я предпочитаю пилить свои, адаптированные под нужды конкретного приложения, благо это не занимает много времени. Название: Re: Что выбрать для десктопа? Отправлено: titan83 от Февраль 08, 2017, 09:22 QML хорош, когда ВЕСЬ проект написан на нём. Когда у тебя половина API на С++, то начинаются такие извращения, что мало не покажется. Спасибо.Я хочу ВЕСЬ API на С++ и весь GUI на QML. Для меня как раз важно, чтобы четкое разделение этих двух частей, тогда "поменять цвет кнопок" смогут другие люди. Название: Re: Что выбрать для десктопа? Отправлено: titan83 от Февраль 08, 2017, 09:23 QML хорош, когда ВЕСЬ проект написан на нём. Когда у тебя половина API на С++, то начинаются такие извращения, что мало не покажется. QML хорош и в использовании с моделями на плюсах, если проект спроектирован без ляпов. Очень интересуют мнения людей, которые делали на Qml реальные законченные приложения и, желательно, "не в стол")) Вел один относительно крупный проект (для десктопа) с регулярными обновлениями 3 года (или даже больше). UIная часть делалась полностью мной и с нуля. Проект жив по сей день, просто я им уже не занимаюсь. Работало все на парке довольно устаревших машин, пролагиваний по вине QtQuick не случалось никогда. Спасибо. Никаких проблем за это время с QML не обнаружил. Наоборот, он показал себя крайне гибким, из плюсов: - Снижение трудозатрат, уменьшение времени выпуска обновлений - Абсолютная гибкость, отсутствие каких-либо ограничений в реализации тех или иных идей - Простота создания адаптивного дизайна, нативная поддержка сенсорных экранов и прочих плюшек. - Возможность быстрого создания рабочих прототипов с целью их тестирования на userfrendly, абстрация UIной части от "бекенд"-логики, что позволяет вести разработку и отладку куда более удобно и эффективно. - Полная асинхронность/eventloop и js. В современном мире без них никуда. Среди контролов конечно же стоит выбрать вторые, хотя лично я предпочитаю пилить свои, адаптированные под нужды конкретного приложения, благо это не занимает много времени. Название: Re: Что выбрать для десктопа? Отправлено: kuzulis от Февраль 08, 2017, 11:00 Ох, а я бы не использовал QML для десктопа, если это не приложение типа WinAmp-а
(где красивые кнопочки и анимашки) и прочее. ИМХО, на виджетах гибче все. Но на QML хорошо получаются всякие-там интрумент-кластеры (со стрелочками, приборчиками, прочими градусниками с мудреной анимацией). Название: Re: Что выбрать для десктопа? Отправлено: panAlexey от Февраль 08, 2017, 11:02 Вел один относительно крупный проект (для десктопа) с регулярными обновлениями 3 года (или даже больше). UIная часть делалась полностью мной и с нуля. Проект жив по сей день, просто я им уже не занимаюсь. Работало все на парке довольно устаревших машин, пролагиваний по вине QtQuick не случалось никогда. Какие операционки и какие машины были?ПС. У меня стояла на машине Joxi, лагала и выпендривалась. С тех пор QML возненавидел. И я понят, что стабильнее виджетной технологии пока ничего нету. Название: Re: Что выбрать для десктопа? Отправлено: titan83 от Февраль 08, 2017, 16:16 Просто замечательно, подтянулись люди с другой стороны. Это очень важно.
ИМХО, на виджетах гибче все. На виджетах я делал прошлое приложение. Сравнивая с QML, не могу так сразу выделить: в чем проявляется гибкость.Название: Re: Что выбрать для десктопа? Отправлено: Отражение луны от Февраль 08, 2017, 22:42 Какие операционки и какие машины были? Венда и линукс. Проблемы были только со старыми атомами, графика которых не умела OpenGL выше 1.1. Исключительно на старых версиях квика, где софтверного рендеринга не было. ПС. У меня стояла на машине Joxi, лагала и выпендривалась. С тех пор QML возненавидел. И я понят, что стабильнее виджетной технологии пока ничего нету. ИМХО, на виджетах гибче все. Это не так. Все, что можно сделать на виджетах - можно сделать и на QML. А вот наоборот - увы. Название: Re: Что выбрать для десктопа? Отправлено: vebmaster от Февраль 09, 2017, 13:30 тоже недавно освоил QML, до этого тоже был опыт с Qt без QML.
Сейчас сделал выбор в пользу QML. controls 2 говорит за себя сам, для лабораторных целей там по моему вообще всё идеально, регуляторы всякие и тд... Название: Re: Что выбрать для десктопа? Отправлено: panAlexey от Февраль 09, 2017, 14:58 Лично я просто не хочу переходить на Qt5. Все практически то же, только вес больше и заморочек поболя.
Название: Re: Что выбрать для десктопа? Отправлено: titan83 от Февраль 09, 2017, 15:07 Лично я просто не хочу переходить на Qt5. Все практически то же, только вес больше и заморочек поболя. Я тоже так думал, но узнал (через боль и страдания), что в Qt4 регулярные выражения (QRegExp) оказались очень обрезанными, и тогда уже точно решил, что пора переходить. Прошу заметить, что это был embedded проект, а уж на десктопе все еще очевиднее.Название: Re: Что выбрать для десктопа? Отправлено: twp от Февраль 09, 2017, 21:05 Здесь (http://blog.qt.io/blog/2016/06/10/qt-quick-controls-2-0-a-new-beginning/#comment-1197843) можно глянуть наиболее развернутый ответ от J-P Nurmi (a senior software engineer at The Qt Company).
Название: Re: Что выбрать для десктопа? Отправлено: Отражение луны от Февраль 09, 2017, 21:27 Лично я просто не хочу переходить на Qt5. Все практически то же, только вес больше и заморочек поболя. В 1м квиве есть несколько критических багов, которые уже никогда не будут исправлены. Название: Re: Что выбрать для десктопа? Отправлено: Bepec от Февраль 09, 2017, 21:32 Всё что можно сделать на виджетах, можно сделать на QML - вранье :D
Название: Re: Что выбрать для десктопа? Отправлено: kuzulis от Февраль 09, 2017, 21:58 Цитировать Это не так. Все, что можно сделать на виджетах - можно сделать и на QML. А вот наоборот - увы. Я бы так не утверждал. Перехватите-ка мне отрисовку фреймов/пиксмапов на QML да так чтобы оно бы работало... :P Название: Re: Что выбрать для десктопа? Отправлено: panAlexey от Февраль 09, 2017, 22:09 Лично я просто не хочу переходить на Qt5. Все практически то же, только вес больше и заморочек поболя. Я тоже так думал, но узнал (через боль и страдания), что в Qt4 регулярные выражения (QRegExp) оказались очень обрезанными, и тогда уже точно решил, что пора переходить. Прошу заметить, что это был embedded проект, а уж на десктопе все еще очевиднее.Название: Re: Что выбрать для десктопа? Отправлено: Отражение луны от Февраль 09, 2017, 22:48 Всё что можно сделать на виджетах, можно сделать на QML - вранье :D Примеры в студию.Я бы так не утверждал. Перехватите-ка мне отрисовку фреймов/пиксмапов на QML да так чтобы оно бы работало... :P Ну это уже слабо относится к самому qml. Тут речь уже об OpenGL и его реализации в Qt. Я в этом не силен. Название: Re: Что выбрать для десктопа? Отправлено: titan83 от Февраль 10, 2017, 00:04 Ооо, холиварчик разгоняет, как я смотрю)))
Печалька, но в новом проекте буду на виджетах, ибо времени\желания писать свой Table(Tree)View (или использовать из QC1) нет. Поэтому буду писать по-старинке и ждать Qt5.9, там, может, и появится в QC2 то, что мне нужно. Но тему можно (нужно) оставить, посмотрим кто как будет топить за свою технологию)) Название: Re: Что выбрать для десктопа? Отправлено: lit-uriy от Февраль 10, 2017, 06:40 Я вот сколько не пытался сделать что-нибудь на QML сталкиваюсь всегда с одной проблемой (один и тот же код на двух разных машинах - Вин7 и ВинХП) - тормоза при первом старте и жуткие тормоза при попытке делать интерфейс в Дизайнере Креатора (при любом редактировании в дизайнере Креатор подвисает секунд на 10-30!!!).
Кроме того Дизайнере Креатора не все QML открываются, он часто выдаёт сообщение, что данный QML не поддерживается (хотя всегда использовал для QML-проектов свежую версию Креатора). По этому мне даже не понятно, как люди создают программы с использованием QML. Название: Re: Что выбрать для десктопа? Отправлено: GreatSnake от Февраль 10, 2017, 11:24 В своих проектах использую динамическую загрузку UI (*.ui) форм + JavaScript.
Вся бизнес логика в скриптах. Название: Re: Что выбрать для десктопа? Отправлено: vebmaster от Февраль 10, 2017, 19:09 По этому мне даже не понятно, как люди создают программы с использованием QML. без графического редактора :)Название: Re: Что выбрать для десктопа? Отправлено: titan83 от Февраль 10, 2017, 20:36 В своих проектах использую динамическую загрузку UI (*.ui) форм + JavaScript. Интересный вариант. А не могли бы вы чуть детальнее раскрыть?Вся бизнес логика в скриптах. Спасибо. Название: Re: Что выбрать для десктопа? Отправлено: Отражение луны от Февраль 10, 2017, 22:26 Я вот сколько не пытался сделать что-нибудь на QML сталкиваюсь всегда с одной проблемой (один и тот же код на двух разных машинах - Вин7 и ВинХП) - тормоза при первом старте и жуткие тормоза при попытке делать интерфейс в Дизайнере Креатора (при любом редактировании в дизайнере Креатор подвисает секунд на 10-30!!!). Потому что писать нужно руками, дизайнер creator-а эт изврат. Кроме того Дизайнере Креатора не все QML открываются, он часто выдаёт сообщение, что данный QML не поддерживается (хотя всегда использовал для QML-проектов свежую версию Креатора). По этому мне даже не понятно, как люди создают программы с использованием QML. Печалька, но в новом проекте буду на виджетах, ибо времени\желания писать свой Table(Tree)View (или использовать из QC1) нет. Работы на 10 минут. Но не советую. Tree View это ужас с точки зрения UX. В 2017м стоит избегать подобных вещей. Название: Re: Что выбрать для десктопа? Отправлено: titan83 от Февраль 10, 2017, 22:55 Печалька, но в новом проекте буду на виджетах, ибо времени\желания писать свой Table(Tree)View (или использовать из QC1) нет. Работы на 10 минут. Но не советую. Tree View это ужас с точки зрения UX. В 2017м стоит избегать подобных вещей. И если бы было на 10 минут, то вряд ли бы TableView был в планах версии 5.9 (самое раннее - июнь 2017), а уже был бы зарелизен. Хотя на счет вашего тезиса по поводу "писать руками" я полностью согласен, все так логично, что редактора абсолютно достаточно. Название: Re: Что выбрать для десктопа? Отправлено: Отражение луны от Февраль 10, 2017, 23:25 Что-то мне кажется на счет "работы на 10 минут" вы погорячились, прямо вот за 10 можно сделать весь интерфейс для связи с моделью? 10 минут - только на вью, без стайлинга. Грубо говоря, ректанглы с текстом. Нужна всего лишь рекурсия + anchors.leftMargin, зависящий от "глубины". И если бы было на 10 минут, то вряд ли бы TableView был в планах версии 5.9 (самое раннее - июнь 2017), а уже был бы зарелизен. Хотя на счет вашего тезиса по поводу "писать руками" я полностью согласен, все так логично, что редактора абсолютно достаточно. Делать что-то под конкретный проект проще/быстрее чем делать контролы, которые в идеале должны учитывать интересы всех проектов, иметь кучу настроек и так далее. Название: Re: Что выбрать для десктопа? Отправлено: Bepec от Февраль 11, 2017, 13:59 10 минут на вью - эт вы лишка хватили. Вы еёщ скажите что оптимизация автоматическая будет, работа с большими объемами данных встроенная.
10 минут - это натыкать "ректанглы с текстом". Сделать View - это работа на неделю минимум. И по поводу всё что можно - достаньте мне отрисовку QML. Не стандартизированный ректангл, а свою отрисовку. С попиксельным контролем :D Почему я никак не могу понять QML - потому что нет контроля происходящего. Вообще. Ну это как если бы на С++ имелись бы только event'овые функции, аля mouseMove/mouseClick и прочие. Название: Re: Что выбрать для десктопа? Отправлено: ViTech от Февраль 11, 2017, 16:28 И по поводу всё что можно - достаньте мне отрисовку QML. Не стандартизированный ректангл, а свою отрисовку. С попиксельным контролем :D Можете рисовать на OpenGL что вашей душе угодно в QQuickFramebufferObject (http://doc.qt.io/qt-5/qquickframebufferobject.html) и помещать это в существующую сцену. Или создавать элементы со своей отрисовкой: "Scene Graph - Custom Geometry (http://doc.qt.io/qt-5/qtquick-scenegraph-customgeometry-example.html)". Название: Re: Что выбрать для десктопа? Отправлено: Bepec от Февраль 11, 2017, 21:35 Мб я неправильно выразился?
Цитировать достаньте мне отрисовку QML. Не qml-джет для рисования.Не проброс C++ отрисовки в QML. Не отрисовку OpenGL на сцене. А именно отрисовку QML. Название: Re: Что выбрать для десктопа? Отправлено: Отражение луны от Февраль 12, 2017, 15:49 А именно отрисовку QML. Я бы порекомендовал бы Вам более точно/профессионально формулировать свои вопросы. Сделать View - это работа на неделю минимум. Это ложь. Кстати, view никак не определяет отрисовку делегатов, так что технически - без разницы, ректанглы там с текстом или полноценно сдизайненый компонент. По определению это разные вещи, учите матчасть. Цитировать Почему я никак не могу понять QML - потому что нет контроля происходящего. Здесь явно перепутаны причина и следствие. Название: Re: Что выбрать для десктопа? Отправлено: xokc от Февраль 12, 2017, 21:07 Все, что можно сделать на виджетах - можно сделать и на QML. А вот наоборот - увы. А такое тоже можно? http://www.devmachines.com/qtitandatagrid-overview.html Есть примеры, пусть и платные? Я не в смысле подколоть, мне на самом деле интересно. Для меня вообще существенная десктоп приложений ассоциируется именно с наворочанным DBGrid. Как вы с этим в QML мире живете, или для вас этот контрол не актуален? Название: Re: Что выбрать для десктопа? Отправлено: Отражение луны от Февраль 12, 2017, 22:22 А такое тоже можно? Все, что там на скринах - делается нативными способами без каких-либо заморочек. http://www.devmachines.com/qtitandatagrid-overview.html Есть примеры, пусть и платные? Я не в смысле подколоть, мне на самом деле интересно. Для меня вообще существенная десктоп приложений ассоциируется именно с наворочанным DBGrid. Как вы с этим в QML мире живете, или для вас этот контрол не актуален? ListView с делегатами, имеющими возможность разворачиваться. В такой ListView можно поместить другой ListView и это будет работать. Примеров реализации именно такой штуки вряд ли найду, все-таки это не очень userfrendly контрол, но если это реально нужно для какого-то проекта - могу сделать свой экзампл. В этом случае будет лучше создать новую тему. Я правда не в курсе всех возможностей, возможно, на реализацию каких-нибудь доп фишек типа драг-н-дропа придется потратить доп время, но это все тоже делается нативными компонентами. Название: Re: Что выбрать для десктопа? Отправлено: twp от Февраль 13, 2017, 12:14 Мб я неправильно выразился? Цитировать достаньте мне отрисовку QML. Не qml-джет для рисования.Не проброс C++ отрисовки в QML. Не отрисовку OpenGL на сцене. А именно отрисовку QML. Qt Quick Examples - Canvas (http://doc.qt.io/qt-5/qtquick-canvas-example.html), то что надо? Название: Re: Что выбрать для десктопа? Отправлено: GreatSnake от Февраль 13, 2017, 13:50 Интересный вариант. А не могли бы вы чуть детальнее раскрыть? В качестве JavaScript движка пока задействован QScriptEngine.В нём зарегистрированы функции создания виджетов по имени класса, работой с БД и корбой. Реализован на базе QUiLoader свой загрузчик форм и создатель виджетов/лэйаутов с регистрацией фабрики кастомных виджетов. Загрузчик при загрузке форм делает QScriptEngine::evaluate() соответствующего *.js с установкой "this" на загруженный виджет. И уже в скрипте коннектимся к сигналам и дёргаем слоты или Q_INVOKABLE методы либо пропертя. Но, на всю эту обвязку, конечно, пришлось потратить n-ое количество времени. Название: Re: Что выбрать для десктопа? Отправлено: xokc от Февраль 13, 2017, 22:35 Все, что там на скринах - делается нативными способами без каких-либо заморочек. Всё шутите... Грид подобного уровня нативным способом без заморочек...С группировкой, фильтрацией, обобщенными строками, кастомными редакторами в ячейках, многострочными заголовками, быстрым поиском, режимом превью для строк, фиксированными колонками. Про "мелочи" в виде сортировок, автоподбора ширины и высоты ячеек, и прочих режимах cardview я и не вспоминаю. все-таки это не очень userfrendly контрол, но если это реально нужно для какого-то проекта Если уж это не userfrendly, то я тогда и не знаю что для вас userfrendly. Примитивный ListView а-ля список контактов в Telegram? Как вы с БД вообще работаете из QML? Как на экран выводите хотя бы 200 записей? Как их редактируете? Есть хотя бы один скриншот реального QLM приложения, рассчитанного на работу с БД в классическом десктопном понимании этого слова? Несколько раз уже порывался было нырнуть в эту QML пучину - всегда отсутствие хоть какого-нибудь сколь угодно разумного грида останавливало. Название: Re: Что выбрать для десктопа? Отправлено: Отражение луны от Февраль 13, 2017, 23:02 Всё шутите... Грид подобного уровня нативным способом без заморочек... Давайте уже определимся. View - это view, и ничего больше. С группировкой, фильтрацией, обобщенными строками, кастомными редакторами в ячейках, многострочными заголовками, быстрым поиском, режимом превью для строк, фиксированными колонками. Про "мелочи" в виде сортировок, автоподбора ширины и высоты ячеек, и прочих режимах cardview я и не вспоминаю. Конечно на весь этот функционал придется затратить достаточное количество времени, но это время будет гарантированно меньше затраченного на реализацию аналогичного виджета. Так что в минус данной технологии это явно не засчитаешь. Цитировать Если уж это не userfrendly, то я тогда и не знаю что для вас userfrendly. Все, что выглядит достаточно просто с точки зрения пользователя и не заставляет его браться за голову от огромного количества информации на экране. Цитировать Как вы с БД вообще работаете из QML? Как на экран выводите хотя бы 200 записей? Без проблем. 200 записей - не так уж и много. Если их больше - вам явно нужны какие-то категории/пейджи/навигация/нечто подобное. Не заставляйте пользователя искать нужную ему информацию среди кучи ненужной. Цитировать Как их редактируете? Обычно для этого реализуют форму, которая будет содержать в себе соответствующие поля. Цитировать Есть хотя бы один скриншот реального QLM приложения, рассчитанного на работу с БД в классическом десктопном понимании этого слова? Я бы рад поделиться скриншотом, но не могу. Коммерческая тайна, или типа того. К тому же я не очень люблю хвалиться и выставлять на показ свои проекты. Цитировать Несколько раз уже порывался было нырнуть в эту QML пучину - всегда отсутствие хоть какого-нибудь сколь угодно разумного грида останавливало. Есть как минимум 3 способа получить нормальный разумный грид. Название: Re: Что выбрать для десктопа? Отправлено: xokc от Февраль 14, 2017, 23:45 Включу режим зануды.
Это время будет гарантированно меньше затраченного на реализацию аналогичного виджета. Неубедительно и бездоказательно. Отсутствие скриншотов практических реализаций тому явный пример. Хотите доказать обратное - скриншот в студию.Цитировать Без проблем. 200 записей - не так уж и много. Скриншот в студию.Цитировать Не заставляйте пользователя искать нужную ему информацию среди кучи ненужной. В excel тоже вы тоже файлы размером >200 строк не отображете? И в word документы размером больше 3-х страниц не смотрите?Цитировать Обычно для этого реализуют форму, которая будет содержать в себе соответствующие поля. Так и вижу excel, в котором для редактирования каждой ячейки нужно отдельную форму открывать. Это ведь так удобно, всего два-три лишних клика мышкой на каждую строку! А ещё можно в notepad для каждого изменения символа (ладно, упрощу - для каждой отдельной строки) отдельную форму открывать. А чего, будет работать!Цитировать Я бы рад поделиться скриншотом, но не могу. Коммерческая тайна, или типа того. Цитировать Есть как минимум 3 способа получить нормальный разумный грид. Какие же? Тоже "коммерческая тайна"? Озвучьте уже их, а лучше скриншоты, на словах я тоже много чего могу.Название: Re: Что выбрать для десктопа? Отправлено: Отражение луны от Февраль 15, 2017, 01:14 Цитировать Неубедительно и бездоказательно. Отсутствие скриншотов практических реализаций тому явный пример. Хотите доказать обратное - скриншот в студию. Мне без разницы. Я сюда не доказывать свои скилзы пришел, а пользу приносить. Не нравятся разумные аргументы - оставайтесь при своем мнении. Цитировать В excel тоже вы тоже файлы размером >200 строк не отображете? И в word документы размером больше 3-х страниц не смотрите? Excel и word - это классические примеры отсутствия автоматизации. Я же занимаюсь автоматизацией бизнес-процессов. И ни в одном адекватном приложении ты не найдешь такой ситуации, когда пользователь будет вынужден ежедневно вносить/редактировать кучи данных. Если у тебя так - значит ты где-то облажался и чего-то недоавтоматизировал, можешь пилить любой дизайн, т.к. твое решение попросту никто не купит)Цитировать Так и вижу excel, в котором для редактирования каждой ячейки нужно отдельную форму открывать. Это ведь так удобно, всего два-три лишних клика мышкой на каждую строку! А ещё можно в notepad для каждого изменения символа (ладно, упрощу - для каждой отдельной строки) отдельную форму открывать. А чего, будет работать! Это действительно удобно, для пользователя. По вашей аналогии бухгалтерам стоит работать напрямую с SQL, ведь нахера им UI, долбанул запрос - и вот тебе любой готовый отчет.Цитировать Скриншот - коммерческая тайна? Да ладно вам. Даже комментировать не буду, просто смешно. Заблюрьте уж содержимое своего грида если уж там настолько всё страшно. Или у вас сам интерфейс КТ? Скриншот - нет, дизайн - да. Зачем тебе именно мой? Погугли себе книжек по UI, посмотри как это реализовано в хороших софтинах. Цитировать Какие же? Тоже "коммерческая тайна"? Озвучьте уже их, а лучше скриншоты, на словах я тоже много чего могу. GridView, Row+Column+Flickable, ListView+Column||Row, Component.createObject + делаем все что угодно ручками.Зависит от потребностей. Название: Re: Что выбрать для десктопа? Отправлено: Alex Custov от Февраль 15, 2017, 10:51 Ещё в QML мне не нравится каша из дизайна и кода. Сколько лет назад такое было в UI формах? Хотя даже в формах такого не было, т.к. там просто подключался отдельный ui.h файл, в котором и писался код. Потом уже это разделили полностью и стали делать формы через агрегацию указателя. В QML же всё в куче.
Потом ещё оказывается, что до сих пор разметка формы пишется вручную, потому что QML/Quick настолько крут, что дизайнер его до сих пор не пор поддерживает на стабильном уровне - постоянно что-то глючит и не работает, ползёт вёрстка и т.п. Название: Re: Что выбрать для десктопа? Отправлено: xokc от Февраль 15, 2017, 11:27 Мне без разницы. Я сюда не доказывать свои скилзы пришел, а пользу приносить. Ну вот, ещё и обиделся. Мне абсолютно всё равно относительно чьих бы то ни было скилзов, мне про технологию имени QML интересно. Цитировать ни в одном адекватном приложении ты не найдешь такой ситуации, когда пользователь будет вынужден ежедневно вносить/редактировать кучи данных. Вот сейчас все пользователи бухгалтерских программ вздрогнули. А программисты SAP, 1C, Axapta и прочих систем автоматизации масштаба ERP срочно начали писать заявления об увольнении. Цитировать Это действительно удобно, для пользователя. В Qt Creator тоже каждую строку кода в отдельной форме редактируешь? А чего, удобно же! ПКМ -> "вставить for" -> в появившемся окне поля "тип переменной", "начальное значение", "условие выхода", "итерация"... Цитировать Скриншот - нет, дизайн - да. Дизайн UI - КТ? Мир сошел с ума.Цитировать Зачем тебе именно мой? Где я говорил, что нужен именно твой? Покажи мне любой, разумный грид на QML.Цитировать Погугли себе книжек по UI, посмотри как это реализовано в хороших софтинах. Я прекрасно знаю как это реализовано в хороших софтинах. Именно поэтому и хочу посмотреть хоть на одну хорошую реализацию именно на QML. Но почему-то не могу найти таких. Или они тоже все КТ? Итого: продвинутые UI для отображения наворочанных табличных данных для десктопа, возможно, существуют, но они настолько секретны, что даже скриншот UI является коммерческой тайной. У меня больше вопросов нет. Название: Re: Что выбрать для десктопа? Отправлено: twp от Февраль 15, 2017, 21:11 Включу режим зануды. Это время будет гарантированно меньше затраченного на реализацию аналогичного виджета. Неубедительно и бездоказательно. Отсутствие скриншотов практических реализаций тому явный пример. Хотите доказать обратное - скриншот в студию.Цитировать Без проблем. 200 записей - не так уж и много. Скриншот в студию.А в чем проблема отобразить 200 записей? Да хоть миллион - не проблема. Код
Весь проект во вложении. Название: Re: Что выбрать для десктопа? Отправлено: xokc от Февраль 15, 2017, 22:04 Без проблем. 200 записей - не так уж и много. Я надеюсь в этой теме вы прочли больше, чем один конкретно этот пост. Хотелось бы увидеть как на QML потом с этими записями работают, а именно:Цитировать С группировкой, фильтрацией, обобщенными строками, кастомными редакторами в ячейках, многострочными заголовками, быстрым поиском, режимом превью для строк, фиксированными колонками. Про "мелочи" в виде сортировок, автоподбора ширины и высоты ячеек, и прочих режимах cardview я и не вспоминаю. Название: Re: Что выбрать для десктопа? Отправлено: twp от Февраль 16, 2017, 01:59 Читал конечно, но я намеренно процитировал именно фразу про 200 строк. Так в чем может быть проблема именно с 200 и более строками и в то же время с 50 или 150 будет все нормально?
А насчет перечисленных фич. Не являясь спецом по UI для баз данных, могу сказать, что фильтрация и сортировка делается не в QML, а в С++ бэкенде через навешивания на основную модель данных QSortFilterProxyModel или наследника QAbstractProxyModel. Редактирование прямо в ячейке - это разве проблема? Даже не знаю что-то тут комментировать. Автоподбор ширины и высоты ячеек: читайте про implicitWidth и implicitHeight. Группировка - ListView.section - не оно? В общем, при желании и достаточных навыках можно сделать все что угодно. Но, (возможно) сделать UI на виджетах будет быстрее и проще, особенно если нет достаточного опыта работы с QtQuick. Название: Re: Что выбрать для десктопа? Отправлено: poru от Февраль 16, 2017, 08:54 Цитировать Именно поэтому и хочу посмотреть хоть на одну хорошую реализацию именно на QML. Но почему-то не могу найти таких. Или они тоже все КТ? Подождите пожалуйста полтора года, на рынке будет новый смартфон, интерфейс оного полностью запилен на QML. Делают наши пацаны из Нижнего Новгорода, а деньги вкладывают зарубежные партнеры.Название: Re: Что выбрать для десктопа? Отправлено: Alex Custov от Февраль 16, 2017, 12:28 Цитировать Именно поэтому и хочу посмотреть хоть на одну хорошую реализацию именно на QML. Но почему-то не могу найти таких. Или они тоже все КТ? Подождите пожалуйста полтора года, на рынке будет новый смартфон, интерфейс оного полностью запилен на QML. Делают наши пацаны из Нижнего Новгорода, а деньги вкладывают зарубежные партнеры.Так никто и не спорит, что банальные интерфейсы на QML делать можно, и возможно даже проще, чем на виджетах. Речь идёт о сложных интерфейсах. Название: Re: Что выбрать для десктопа? Отправлено: Bepec от Февраль 17, 2017, 02:28 По поводу канваса - я к сожалению не совсем пойму, там есть возможность попиксельного доступа? Или там всё на кривых?
Смартфон это куцый огрызок экрана с таким же куцым интерфейсом. Там на экране дай боже 20 записей нормальным шрифтом и с доп информацией поместиться. Вы ратуете "виджеты отстой", а виджеты сделаны для монитора. Для полноценного интерфейса с полноценной работой с ним, а не тап-тап с одним пальцем :D PS пока не видел в этой теме ни одной картинки QML интерфейса. Мб мне глаза надо закапать? Название: Re: Что выбрать для десктопа? Отправлено: xokc от Февраль 17, 2017, 21:58 Подождите пожалуйста полтора года, на рынке будет новый смартфон, интерфейс оного полностью запилен на QML. Вы название топика читали? Тут про десктоп обсуждение...Название: Re: Что выбрать для десктопа? Отправлено: xokc от Февраль 17, 2017, 21:59 PS пока не видел в этой теме ни одной картинки QML интерфейса. Мб мне глаза надо закапать? Сказали же "коммерческая тайна". Ну шо тут неясного? ) |