如何使用命令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/