Russian Qt Forum

Qt => Qt Quick => Тема начата: qt_newer от Февраль 20, 2015, 15:38



Название: Событие на каждое обращение к QML view
Отправлено: qt_newer от Февраль 20, 2015, 15:38
Нужна функциональность похожая на Component.onCompleted, но срабатывающая при каждом обращении к QML view, а не только в процессе первого постоения. Данные могут меняться с очень большой частотой (каждые 100 мс), поэтому получать их из С части надо только в момент обращения к конкретному QML view.
Спасибо заранее!


Название: Re: Событие на каждое обращение к QML view
Отправлено: RSATom от Февраль 20, 2015, 16:42
Что подразумевается под "каждое обращение"?


Название: Re: Событие на каждое обращение к QML view
Отправлено: qt_newer от Февраль 20, 2015, 17:30
в приложении порядка 50 QML views (используется стек для работы с ними). Каждое обращение- когда конкретный view появляется на экране :)


Название: Re: Событие на каждое обращение к QML view
Отправлено: RSATom от Февраль 21, 2015, 06:14
activeChanged (http://doc.qt.io/qt-5/qwindow.html#active-prop) или visibleChanged (http://doc.qt.io/qt-5/qwindow.html#visible-prop) сигналы не подходят?


Название: Re: Событие на каждое обращение к QML view
Отправлено: qt_newer от Февраль 21, 2015, 23:07
К сожалению, нет. Используется версия 5.01, а эти функции поддерживаются с версии 5.1


Название: Re: Событие на каждое обращение к QML view
Отправлено: RSATom от Февраль 24, 2015, 11:19
В таком случае можно ловить event'ы (http://doc.qt.io/qt-5/qwindow.html#event). Для этого можно сделать потомка от QQuickView или установить фильтр событий (http://doc.qt.io/qt-5/qobject.html#installEventFilter)