我有这个主窗口:
ApplicationWindow {
id : mainWindow
width: 640
height: 480
visible: true
Button{
text: "go back to form 1"
onClicked: {
form2.visible = true;
}
}
SecondForm{
id: form2
}
}
第二个窗口是:
Window{
id: main
width: 640
height: 480
x: 0
y: 0
visible: false;
Button{
text: "go back to form 1"
onClicked: {
main.visible = false;
}
}
}
桌面版本还可以,但是在 android 中,当我运行应用程序时,它的行为很奇怪!当我单击 mainWindow 中的按钮时,会发生此错误:W/Qt ( 8903): (null):0 ((null)): QEGLPlatformContext::swapBuffers(): eglError: 12301, this: 0x6b46e7c0
尽管似乎调用了第二种形式并且主窗口变为非活动状态。但第二个窗口是不可见的。虽然我看不到里面的 from 和按钮,但是当我触摸按钮预期所在的区域时,它显然可以工作并且第二个窗口消失,然后第一个窗口再次变为活动状态。当我尝试通过单击 android 后退按钮返回到主窗口时,它会返回到主窗口并出现此警告:W/Qt ( 8903): (null):0 ((null)): Can't find surface 2
发生!
- 你能告诉我如何强制 qt 显示第二个窗口吗?
- 根据这篇文章,Qt 应用程序将只包含一个可以从 Android 应用程序启动的活动。这是否意味着没有办法拥有多个窗口?我的意思是只有一个活动的几个 qml 窗口。
- 如果是这种情况。您能否告诉我是否有替代方案来开发至少从用户的角度来看似乎是多视图的应用程序?
- 您对删除应用程序窗口的所有内容并将其替换为第二个窗口的内容有何看法?如果我们添加一些转换,它看起来就像 android 中的活动转换。但我担心性能问题。
谢谢你的帮助