繁体   English   中英

如何在Qt中使用EGFLS在我的项目上放置启动画面

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM