您好我在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
文件,我不知道为什么。
是否有更好的方法来连接路径?
答案 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}}