从Mac OSx上的Qt中的代码打开本地HTML文件

时间:2018-04-03 06:28:24

标签: macos qt path qdir qurl

您好我在Mac OSX上面临Qt的一个小问题。

因此,在我的程序中,我尝试打开位于与应用程序相同路径的本地.html文件。

鉴于Qt是跨平台的,我的尝试适用于Windows和Ubuntu,我认为OSX应该没有问题,因为它是基于Unix的。

这是我的attmpet

void MainWindow::openBrowser(bool)
{
    QString link = QDir::currentPath()+"/index.html"; // rename the file

    if(! QDesktopServices::openUrl(QUrl(link.trimmed())))
    {
        displayMessage("Access Error", "Unable to open a file");
    }
}

OSX找不到相同的index.html文件,我不知道为什么。 是否有更好的方法来连接路径?

1 个答案:

答案 0 :(得分:1)

在MacOS上,file://absolute_file.name使用FQ名称(if(! QDesktopServices::openUrl(QUrl("file:" + link.trimmed()))) // windows does not like :// { qDebug() << "Access Error", "Unable to open a file"; } )工作,这应该是所有平台上的可移植语法。 这可以这样调用:

Info.plist

虽然本地html文件不需要,但Qt在<key>NSAppTransportSecurity</key> <!-- NOTE! For more information, see: https://developer.apple.com/library/prerelease/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW33--> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict> 中使用此条目作为外部网址:

{{1}}