Деактивировать (?) Элемент QML, чтобы избежать перекрытия областей действий

первый вопрос о Stack Oveflow здесь, так что не злитесь! :)

Приступим к делу: как поступить, если у вас есть сложенные элементы со сложенными областями действия, чтобы убедиться, что вы действуете на то, что видите, а не на лежащие в основе элементы?

Я следую учебному пособию по программированию Qt Quick 2.0 для рабочего стола, где создается приложение, похожее на пост, с несколькими страницами для включения.

Итак, в main.qml у меня есть «PagePanel.qml», где есть 3 «Page.qml» один над другим. Каждый из них имеет непрозрачность 0,0 до тех пор, пока непрозрачность 1,0 не будет форсирована щелчком соответствующего маркера, чтобы визуализировать выбранную страницу. На странице связаны (и создаются) элементы «Note.qml», которые представляют собой стикеры-заметки с областью для перетаскивания элемента и областью для записи сверху.

Проблема в том, что если у меня на разных страницах две заметки перекрываются, если я пытаюсь перетащить или написать заметку, может случиться так, что я на самом деле (не видя этого) перетаскиваю и пишу основную заметку. Другими словами, области действия разных страниц остаются активными при переключении с одной страницы на другую.

Как можно сделать неактивными скрытые страницы и работать только с визуализированной?

Заранее спасибо, А.


person Dr.Raghnar    schedule 12.11.2013    source источник


Ответы (1)


Как я сказал в комментариях, если у вас есть 3 элемента Page друг над другом. Проще всего было бы установить visible: false на тот, который вы хотите отключить, и visible: true на активный. Это отключит все MouseArea и DropArea в невидимых элементах.

person koopajah    schedule 12.11.2013