如何使用命令qressource打开资源文件(QDesktopServices::openUrl)?
我尝试了几种方法,但似乎都没有效果(例如QDesktopServices::openUrl(QUrl(tr(":ressource.pdf")));
谢谢。

最佳答案

不幸的是,您不能直接执行此操作,请先将其保存到文件中。

我检查了Qt源。这是因为url直接传递给浏览器或其他应用程序(取决于协议)。这些应用程序将看不到您的资源,因为进程处于不同的过程中。

这是相关的来源:

qdesktopservices.cpp:


bool QDesktopServices::openUrl(const QUrl &url)
{
   ...
}

qdesktopservices_x11.cpp:


static bool openDocument(const QUrl &url)
{
    ...
}



static bool launchWebBrowser(const QUrl &url)
{
   ...
}



inline static bool launch(const QUrl &url, const QString &client)
{
    return (QProcess::startDetached(client + QLatin1Char(' ') + QString::fromLatin1(url.toEncoded().constData())));
}

关于c++ - QDesktopServices::openUrl与资源,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1617746/

10-10 16:33