首页 > 解决方案 > QtQuick lower() 和 raise() 在 close() 正常工作时不起作用

问题描述

我有 5 个窗口,我通过堆栈视图推送和弹出。在模拟器中,由 push 调用的新窗口应该在顶部。然而,在我的 android 上,它在启动窗口后面产生。我尝试使用 lower() 将起始窗口设置在新窗口后面但没有成功

//start page
Button{myStack.push(page_2); lower()}

我也尝试在完成时调整新窗口但没有成功

//new page
Component.OnCompleted:raise()

但是 close() 可以正常关闭起始页面,从而使新页面可见。

//start page
Button{myStack.push(page_2); close()}

Qt doc 对于 lower() 如下所示

降低()

降低窗口系统中的窗口。

请求降低窗口以显示在其他窗口下方。

对于 raise()

增加()

在窗口系统中升起窗口。

请求将窗口升起以显示在其他窗口之上。

我的代码正确吗?为什么 close() 有效而其他无效

标签: qtwindowstackview

解决方案


首先,我不认为 Qt 在 Android 上支持多窗口。只有一个窗口。

其次 - 您发布的内容甚至不是有效的 QML 代码。

第三 - 在这种情况下,您在单个窗口中使用堆栈视图,并将不同的 GUI 元素推送到它上面。请参阅文档


推荐阅读