Как отключить переход по элементу в qml?

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

Проект организован таким образом, что каждый диалог реализован в отдельном qml файле:

  • У меня есть каждый файл qml для каждого диалога и каждый компонент приложения (карта), поэтому

  • когда вы щелкаете, например, на вкладке настроек в горизонтальном прокручиваемом списке, из qml открывается вкладка настроек, содержащая все диалоги, включая верхнюю и нижнюю части приложения.

  • каждый диалог находится над картой и имеет 50% прозрачный фон со связанными изображениями и кнопками на нем

  • Я хочу отключить перетаскивание карты при перетаскивании фона диалогового окна. Я попытался установить это для каждого диалога:

MouseArea {

anchors.fill: parent

onClicked: mouse.accepted = true

}

(родительский элемент - это элемент, содержащий все элементы диалога), но это не работает.


person IvanaN    schedule 30.06.2017    source источник
comment
Покажите нам, что вы пробовали, или составьте минимальный, полный и поддающийся проверке пример и подробно опишите, в чем проблема. Кроме того, узнайте, как задавать хорошие вопросы, чтобы получить дополнительные советы.   -  person Akira    schedule 30.06.2017


Ответы (1)


Если я правильно понимаю ваш вопрос, этого должно быть достаточно, чтобы для параметра replicateComposedEvents MouseArea было значение false.

person WaltPurvis    schedule 30.06.2017