我有这个主窗口:
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;
}
}
}
桌面版没问题,但在安卓上运行应用时,它的行为很奇怪!当我点击主窗口中的按钮时,会出现以下错误:
W/Qt ( 8903): (null):0 ((null)): QEGLPlatformContext::swapBuffers(): eglError: 12301, this: 0x6b46e7c0
尽管似乎已调用第二个表单,并且主窗口变为非活动状态。但是第二个窗口不可见。尽管我看不到里面的表单和按钮,但当我触摸预期放置按钮的区域时,显然它起作用,第二个窗口消失,然后第一个窗口再次变为活动状态。当我试图通过点击安卓返回按钮回到主窗口时,它回到了主窗口并出现以下警告:
W/Qt ( 8903): (null):0 ((null)): Can't find surface 2
。
- 请问如何强制 qt 显示第二个窗口?
- 根据这篇文章,Qt 应用程序只包含一个可以从 Android 应用程序启动的活动。这是否意味着没有办法拥有多个窗口?我的意思是,只有一个活动的几个 qml 窗口。
- 如果是这种情况,请问是否有替代方法来开发至少从用户角度看起来是多视图的应用程序?
- 您对清空应用程序窗口的所有内容并替换为第二个窗口的内容有什么看法?如果我们添加一些过渡效果,它看起来像安卓中的活动转换。但我担心性能问题。