Название: Сигналы в QML Отправлено: lighting от Июль 06, 2012, 10:48 Троли советуют дробить QML на маленькие блоки и выделять их в отдельные файлы. Это разумно и помогает упростить разработку, но порождает свои сложности с тем что надо поднимать сигналы наверх. Приведу пример
Есть Button.qml у которой есть сигнал clicked() Есть Panel.qml в которой этот сигнал связывается со слотом buttonClicked() чтобы вытянуть сигнал кнопки выше по иерархии qml файлов Есть SuerpPanel.qml в которой и т.д. ... Есть main.qml в которой поднятый сигнал связывается к примеру со слотом qtшного класса. В принципе логика в таком подходе есть, но как-то уж больно много дублирующихся сигналов/слотов плодится. Все так-же делают и всех все устраивает или я просто чего-то не знаю и это можно сделать как-то проще? Название: Re: Сигналы в QML Отправлено: mutineer от Июль 06, 2012, 10:58 В QML пока столько граблей, что это просто мелочь:)
Кстати, а зачем слот для пересылки сигнала? соединяй сигнал с сигналом Название: Re: Сигналы в QML Отправлено: OKTA от Июль 06, 2012, 13:20 а ты вызывай по клику сразу слот класса =)
Название: Re: Сигналы в QML Отправлено: mutineer от Июль 06, 2012, 13:22 а ты вызывай по клику сразу слот класса =) И какой смысл тогда разбивать все на модули, если эти модули нельзя переиспользовать?Название: Re: Сигналы в QML Отправлено: OKTA от Июль 06, 2012, 13:29 ну нет, кнопка кнопкой останется, но просто не нужно миллион реконнектов сигнала делать, пока он из глубин поднимется))) а, и + не обязательно вызывать напрямую слот класса - если хочется с сигналами, то если id корневого объекта уникально, то оно должно быть доступно их любых глубин - те же сигналы, но количество меньше
Название: Re: Сигналы в QML Отправлено: lighting от Июль 06, 2012, 13:58 Цитировать Кстати, а зачем слот для пересылки сигнала? соединяй сигнал с сигналом Это я неудачно выразился, делаю примерно так:Код OKTAчто-то я не пойму что именно вы предлагаете. Если внутри Button.qml вызывать слот моего c++ класса, то кнопку уже нигде нельзя будет использовать, или везде потом onClick переопределять? Название: Re: Сигналы в QML Отправлено: OKTA от Июль 06, 2012, 14:07 внутри не надо! размещаешься кнопочку на панели например и делаешь ей onClicked:, где и пишешь то, что надо вызывать из слотов!
|