Название: Сигналы и слоты в QML, C++ Отправлено: r04 от Май 08, 2014, 06:14 Есть программа на С++, решил я меню к ней нарисовать с QML (Сейчас оно нарисовано на С++, но QML решил попробовать на этом примере)
Посмотрел вот эту статью: http://habrahabr.ru/post/184416/ Сделал что-то подобное, но у меня кроме меню есть еще что-то типа тулбара. Набросок того, как я хотел бы чтобы это выглядело, я прикрепил. Вобщем на верхнем уровне есть прямоугольник, в него вложено - прямоугольник тулбара (пока что пустой) - прямоугольник меню, который вложено: - модель с - девятью кнопками - вью для модели В коде (ужасный, я знаю) : Код: import QtQuick 2.1 Мне надо обрабатывать в С++ коде нажатия кнопок в меню. У элемента модели я описал сигнал send. Не понятно как соединить этот сигнал со слотом С++. Вот тут: http://www.prog.org.ru/topic_26510_0.html я прочитал: Цитировать В моем понимании, у программы на QML должно быть одно окно, где-то мы тут это уже обсуждали. Я понял это так, что вложенных прямоугольников быть не должно. Правильно ли я понял. С другой стороны, даже если я смотрю на пример со статьи на хабре, то все равно не допираю как соединить. В С++ коде юзается rootObject(), но он даст указатель на верхний прямоугольник или на вью, но никак не на нужный мне айтем. Ну или вот сюда я смотрю: http://habrahabr.ru/post/184288/ Цитировать Код: GroupBox { Название: Re: Сигналы и слоты в QML, C++ Отправлено: Mikhail от Май 08, 2014, 08:53 В Qt Quick 2.1 есть уже готовый элемент ApplicationWindow.
В нем и меню и тулбар и статусбар без гемороя Название: Re: Сигналы и слоты в QML, C++ Отправлено: Old от Май 08, 2014, 09:07 Мне кажется (я даже уверен), что лучше не видео смотреть, а документацию читать: :)
http://qt-project.org/doc/qt-5/qtqml-cppintegration-interactqmlfromcpp.html Название: Re: Сигналы и слоты в QML, C++ Отправлено: r04 от Май 08, 2014, 13:50 Какое еще видео?
Но за ссылку спасибо, нашел я там findChild, попробую. Название: Re: Сигналы и слоты в QML, C++ Отправлено: r04 от Май 09, 2014, 06:57 Попробовал, не помогло.
У меня есть ListModel с айтемами. Я не хочу давать каждому айтему имя (я же не знаю сколько их будет...), но хочу связать сигнал о нажатии на айтем со слотом С++. Айтемы лежат в модели. Я дал имя модели, получил ее в С++ коде, но теперь мне надо получить все айтемы модели и в цикле привязаться к их сигналам. Я не нашел способа сделать это. Если найду - напишу )) Название: Re: Сигналы и слоты в QML, C++ Отправлено: navrocky от Май 24, 2014, 18:51 Почему бы в самом item, его MouseArea в обработчике клика не дергать нужный метод C++ объекта?
Второй вариант, объявить свой сигнал у контейнера этих итемов, в плюсах привязываться к нему, а итемы будут по клику испускать этот сигнал с дополнительной информацией о своём индексе. |