从物品中获取窗口

cma*_*t85 5 qt qml qtquick2

在QML中有没有办法获得Window任何视觉对象的顶级?优选地,不通过视觉parent层级递归.

我正在尝试找到顶层窗口的几何体,因此后代对象可以检测它们的边界是否越过了窗口.

Max*_*rno 7

Window所有Items都有属性。哪些取决于 Qt 版本。例如Window.width是当前的顶级窗口/视图宽度。

你可以得到一个特定ItemWindowmyItem.Window;

使用 Qt 5.7+,您甚至可以Window通过Window.window.

请参阅文档:http : //doc.qt.io/qt-5/qml-qtquick-window-window.html#attached-properties

  • 此方法应优先于接受的答案,因为它无需额外的 C++ 代码即可回答问题。要使用附加的“Window.window”属性,请在 QML 文件中导入窗口包:“import QtQuick.Window 2.2”。 (4认同)