[英]how can I put a splashscreen on my project using EGFLS in qt
我正在使用qt / QML开发用户界面,并且需要在应用程序开始时显示启动画面图像。 我正在具有iMX6微处理器的设备上运行该应用程序。 我使用了QtSplashscreen库,但它给了我这个错误:EGLFS:openGL窗口不能与其他窗口混合。
我知道它不能同时打开2个窗口,有人可以帮忙吗?
关于您的问题,请参见以下问题 :
OpenGL和Qt Quick 2应用程序一次只能有一个全屏窗口。 尝试创建另一个OpenGL窗口,或尝试将OpenGL窗口与一个光栅窗口混合使用,将显示上述消息并中止应用程序。
QSplashScreen使用另一个窗口显示启动视图。 因此,这不是直接的解决方案。 您可以将QWidget嵌入QQuickItem中,以用作QtQuick2控件组件。
另一种更快的解决方案是使用QML组件,并使用Loader加载它。 您可以在Qt示例存储库中查看,此文件是一个很好的示例。
这里我们举一个简单的例子。
Loader {
id: splashLoader
anchors.fill: parent
source: "SplashScreen.qml"
asynchronous: false
visible: true
onStatusChanged: {
if (status === Loader.Ready) {
appLoader.setSource("App.qml");
}
}
}
Connections {
target: splashLoader.item
onReadyToGo: {
appLoader.visible = true
appLoader.item.init()
splashLoader.visible = false
splashLoader.setSource("")
appLoader.item.forceActiveFocus();
}
}
Loader {
id: appLoader
anchors.fill: parent
visible: false
asynchronous: true
onStatusChanged: {
if (status === Loader.Ready)
splashLoader.item.appReady()
if (status === Loader.Error)
splashLoader.item.errorInLoadingApp();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.