Практики по QML / C++ integration
От: SaZ  
Дата: 27.05.14 10:52
Оценка:
Хочу начать изучать QML для разработки собственных, относительно небольших, проектов. На работе крепко сидим на виджетах, поэтому QML коллегам не интересен.

Посоветуйте, пожалуйста, статьи / литературу по актуальным техникам разработки UI на QML в С++ проектах.

Как работает QML более-менее представляю. Но пока он достаточно криво ложится в мою архитектуру (голову).
Обычно, для каждой (абстрактной) задачи я пишу пару виджет+контроллер. Например, нужно сделать некий чат. Тогда у меня будут классы (упрощённо):
1. Контроллер чата. Отвечает за коннект / дисконнект к серверу, приём / отправку сообщений, обработку списка (модели) юзеров. ChatController.h/cpp
2. Виджет входа: вызывается из контроллера для запроса логина/пароля/сервера и т.п. Создаётся 1 раз при запуске. LoginWidget.h/cpp
3. Виджет чата: текстбокс с историей сообщений (обновляется по сигналу от контроллера), поле для ввода сообщения (отправляет сигнал контроллеру), вьюха со списком юзеров (использует модель из контроллера). Прочие ui-свистелки. MainView.h/cpp
Re: Практики по QML / C++ integration
От: visual_wind  
Дата: 27.05.14 12:30
Оценка: 33 (2)
Здравствуйте, SaZ, Вы писали:

SaZ>Хочу начать изучать QML для разработки собственных, относительно небольших, проектов. На работе крепко сидим на виджетах, поэтому QML коллегам не интересен.

SaZ>Посоветуйте, пожалуйста, статьи / литературу по актуальным техникам разработки UI на QML в С++ проектах.
[...]

Возможно, вас заинтересует вот эта статья. Виджета для логина, о котором вы упоминаете, нет, но в остальном — весьма подробно.
Re[2]: Практики по QML / C++ integration
От: SaZ  
Дата: 27.05.14 16:18
Оценка:
Здравствуйте, visual_wind, Вы писали:

_>Возможно, вас заинтересует вот эта статья. Виджета для логина, о котором вы упоминаете, нет, но в остальном — весьма подробно.


Да, спасибо. Пример с чатом брал из головы. На практике приложения значительно сложнее.
Хочется ещё посмотреть на программное создание QML компонент. Всё-таки пока несколько непривычно.
Re: Практики по QML / C++ integration
От: nen777w  
Дата: 27.05.14 23:47
Оценка:
Здравствуйте, SaZ, Вы писали:
SaZ>Хочу начать изучать QML для разработки собственных, относительно небольших, проектов. На работе крепко сидим на виджетах, поэтому QML коллегам не интересен.

Если не секрет, на каких виджетах? Стандартные или сам еще писали? Может быть сторонние какие то?
Может быть спрашивал когда то, но очень нужны нормальные плавающие диалоги (докирующиеся окана), взамен тех что есть в Qt.
Re[2]: Практики по QML / C++ integration
От: SaZ  
Дата: 29.05.14 09:51
Оценка:
Здравствуйте, nen777w, Вы писали:

N>Если не секрет, на каких виджетах? Стандартные или сам еще писали? Может быть сторонние какие то?

N>Может быть спрашивал когда то, но очень нужны нормальные плавающие диалоги (докирующиеся окана), взамен тех что есть в Qt.

На стандартных + самописных. Я к тому, что используем классические виджеты, а не новомодный QML.
С док окнами решили не заморачиватсья и терпеть стандартные. Т.к. слишком уж трудоёмкая задача выходит (относительно приоритета разработки). Нам пока главное функционал, а не юзабилити.
Re: Практики по QML / C++ integration
От: SaZ  
Дата: 29.05.14 14:53
Оценка: 26 (2)
Здравствуйте, SaZ, Вы писали:

Нашёл интересный сайт
Re: Застрял...
От: SaZ  
Дата: 02.06.14 14:53
Оценка:
Как можно объявить слот в QML?
Re[2]: Застрял...
От: visual_wind  
Дата: 02.06.14 19:52
Оценка: 7 (1)
Здравствуйте, SaZ, Вы писали:

SaZ>Как можно объявить слот в QML?


Здесь достаточно подробно все расписано. В частности
Connecting Signals to Methods and Signals

Signal objects have a connect() method to a connect a signal either to a method or another signal. When a signal is connected to a method, the method is automatically invoked whenever the signal is emitted. (In Qt terminology, the method is a slot that is connected to the signal; all methods defined in QML are created as Qt slots.) This enables a signal to be received by a method instead of a signal handler.
Re[3]: Застрял...
От: SaZ  
Дата: 04.06.14 11:58
Оценка:
Здравствуйте, visual_wind, Вы писали:

_>Здравствуйте, SaZ, Вы писали:


SaZ>>Как можно объявить слот в QML?


_>Здесь достаточно подробно все расписано. В частности

_>
_>Connecting Signals to Methods and Signals

_>Signal objects have a connect() method to a connect a signal either to a method or another signal. When a signal is connected to a method, the method is automatically invoked whenever the signal is emitted. (In Qt terminology, the method is a slot that is connected to the signal; all methods defined in QML are created as Qt slots.) This enables a signal to be received by a method instead of a signal handler.
_>


Похоже, что я пытаюсь освоить одновременно слишком многое. Скоро поеду на тренинг, может прошарюсь
Re[3]: P.S. ...
От: SaZ  
Дата: 04.06.14 12:22
Оценка: -1
Мне просто мои нынешние потуги сильно напоминают время, когда я только начал осваивать кутэ (вроде, 4.5 тогда была). Месяцев 5 был жёсткий говнокод, пока мне не попался качественный лид, который быстро всё рассказал на простых примерах.
Re: Посыпались баги в QML
От: SaZ  
Дата: 05.06.14 14:38
Оценка:
За 2 дня изучения QML словил 2 бага:
Один похож на этот. И вот второй.
Re[4]: Застрял...
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 01.07.14 17:18
Оценка:
Здравствуйте, SaZ, Вы писали:

SaZ>Похоже, что я пытаюсь освоить одновременно слишком многое. Скоро поеду на тренинг, может прошарюсь


Ну как, съездил? Многому научился? А плагины для QML делать умеешь?
Маньяк Робокряк колесит по городу
Re[5]: Застрял...
От: SaZ  
Дата: 02.07.14 09:37
Оценка: :)
Здравствуйте, Marty, Вы писали:

M>Ну как, съездил? Многому научился? А плагины для QML делать умеешь?


Отлично съездил(sarcasm). Тренинг отменили, т.к. не собрали достаточно людей.
Re: Практики по QML / C++ integration
От: -n1l-  
Дата: 02.07.14 09:46
Оценка:
Почему бы не обратиться к разработчикам qml с таким вопросом?
На сайте qt-project'a есть ирки для общения.
Re[2]: Практики по QML / C++ integration
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 02.07.14 12:41
Оценка:
Здравствуйте, -n1l-, Вы писали:

N>Почему бы не обратиться к разработчикам qml с таким вопросом?

N>На сайте qt-project'a есть ирки для общения.

Я там на форумах писал, глухо
Маньяк Робокряк колесит по городу
Re[6]: Застрял...
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 02.07.14 14:26
Оценка:
Здравствуйте, SaZ, Вы писали:

M>>Ну как, съездил? Многому научился? А плагины для QML делать умеешь?


SaZ>Отлично съездил(sarcasm). Тренинг отменили, т.к. не собрали достаточно людей.


А где он должен был проходить? Недавно видел на Qt-шном сайте, что вроде 17-20 июня? Я как раз начал чуть раньше опять кьютом интересоваться, может быть тоже прокатился был. Только жаль, поздно узнал. Им пиара не хватает. Кстати, могли бы и тут постить, было бы полезно.
Маньяк Робокряк колесит по городу
Re[3]: Практики по QML / C++ integration
От: -n1l-  
Дата: 03.07.14 02:54
Оценка:
Здравствуйте, Marty, Вы писали:

M>Я там на форумах писал, глухо


Форумы действительно не очень, так что пишите в irc каналы.
Re[7]: Застрял...
От: SaZ  
Дата: 07.07.14 15:06
Оценка:
Здравствуйте, Marty, Вы писали:

M>А где он должен был проходить? Недавно видел на Qt-шном сайте, что вроде 17-20 июня? Я как раз начал чуть раньше опять кьютом интересоваться, может быть тоже прокатился был. Только жаль, поздно узнал. Им пиара не хватает. Кстати, могли бы и тут постить, было бы полезно.


Именно он: http://digia.com/ru/Qt/News/-QMLMobile-Development-with-Qt/
Программа: http://digia.com/PageFiles/61658/QtTraining_17-20.06.2014.pdf

Но я бы за такие деньги сам не поехал, если бы фирма не оплачивала. Т.к. из этого тренинга мне интересно меньше половины.
Re[4]: Практики по QML / C++ integration
От: SaZ  
Дата: 07.07.14 15:07
Оценка:
Здравствуйте, -n1l-, Вы писали:

N>Форумы действительно не очень, так что пишите в irc каналы.


Писать можно конкретные вопросы, на которые с тем же успехом отвечают на stackoverflow или тут. А хочется именно best practice, которые в irc никто строчить не будет.
Re[5]: Практики по QML / C++ integration
От: -n1l-  
Дата: 08.07.14 02:26
Оценка:
Говорю пишите в irc, там вам ответят создатели этого qml, откуда еще можно достать эти ваши best practice?
Хотя скорее всего такого понятия для qml нет.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.