停用 QML 项目以避免操作区域重叠

问题描述 投票:0回答:1

如果有堆叠元素和堆叠操作区域,以确保您对所看到的内容而不是底层元素进行操作,该怎么办?

我正在学习有关 Qt Quick 2.0 桌面编程的教程,其中制作了一个像便利贴一样的应用程序,其中有多个页面可以打开。

main.qml
中,我有一个
PagePanel.qml
,其中一个有3个
Page.qml
,一个在另一个之上。每个页面的不透明度均为 0.0,直到通过单击相应的标记强制不透明度为 1.0,以可视化所选页面。在页面中链接(并创建)项目
Note.qml
,它们是贴纸注释,带有用于拖动项目的区域和用于在顶部书写的区域。

问题是,如果我在不同的页面上有两个笔记重叠,如果我尝试拖动或在笔记上书写,则可能实际上(没有看到它)在底层笔记上拖动和书写。

换句话说,从一个页面切换到另一个页面时,不同页面的操作区域保持活动状态。

如何才能使隐藏页面处于非活动状态并仅对可视化页面进行操作?

qt qml qtquick2
1个回答
5
投票

如果您有 3 个

Page
元素彼此叠置。最简单的方法是将
visible: false
设置为您要禁用的选项,将
visible: true
设置为活动的选项。这将禁用不可见元素中的所有
MouseArea
DropArea

© www.soinside.com 2019 - 2024. All rights reserved.