searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

一种解决 qt5 在 android 的加载文件路径适配问题

2023-09-27 06:10:16
4
0

QString QtCore::ResourcesPath(void)

{

    static QString path = "";

    if (path.length() == 0) {

        path = QT_RESOURCE_PATH;

        

#if defined(__IPHONE_OS_VERSION_MAX_ALLOWED)

        path = QGuiApplication::applicationDirPath() + "/resource";

#elif defined(__MAC_OS_X_VERSION_MAX_ALLOWED)

        path = QGuiApplication::applicationDirPath() + "/../Resources/resource";

#elif defined(__ANDROID__)

        path = "assets:";

#else

        QString tempPath = QGuiApplication::applicationDirPath() + "/resource";

        QFileInfo fileInfo(tempPath);

        if (fileInfo.exists()) {

            path = tempPath;

        }

#endif

        g_info("[clink] QtCore::ResourcesPath path = %s", path.toStdString().c_str());

    }

    return path;

}

 

重点在于

#ifdef __ANDROID__

    engine->load(QUrl(url));

#else

    engine->load(QUrl::fromLocalFile(url));

#endif

 

qt5要直接使用 QUrl(url)

0条评论
作者已关闭评论
翁****东
3文章数
0粉丝数
翁****东
3 文章 | 0 粉丝
翁****东
3文章数
0粉丝数
翁****东
3 文章 | 0 粉丝
原创

一种解决 qt5 在 android 的加载文件路径适配问题

2023-09-27 06:10:16
4
0

QString QtCore::ResourcesPath(void)

{

    static QString path = "";

    if (path.length() == 0) {

        path = QT_RESOURCE_PATH;

        

#if defined(__IPHONE_OS_VERSION_MAX_ALLOWED)

        path = QGuiApplication::applicationDirPath() + "/resource";

#elif defined(__MAC_OS_X_VERSION_MAX_ALLOWED)

        path = QGuiApplication::applicationDirPath() + "/../Resources/resource";

#elif defined(__ANDROID__)

        path = "assets:";

#else

        QString tempPath = QGuiApplication::applicationDirPath() + "/resource";

        QFileInfo fileInfo(tempPath);

        if (fileInfo.exists()) {

            path = tempPath;

        }

#endif

        g_info("[clink] QtCore::ResourcesPath path = %s", path.toStdString().c_str());

    }

    return path;

}

 

重点在于

#ifdef __ANDROID__

    engine->load(QUrl(url));

#else

    engine->load(QUrl::fromLocalFile(url));

#endif

 

qt5要直接使用 QUrl(url)

文章来自个人专栏
文章 | 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0