如何在Qt中的默认用户浏览器中打开链接?

myW*_*SON 61 c++ qt

我想知道如何使用Qt在默认用户浏览器中打开一个链接(可以在所有平台上打开它(Win Mac Lin))?

jdi*_*jdi 71

在doc:QDesktopServices中

http://doc.qt.io/qt-4.8/qdesktopservices.html#openUrl

bool QDesktopServices::openUrl ( const QUrl & url ) [static]
Run Code Online (Sandbox Code Playgroud)

在适当的Web浏览器中为用户的桌面环境打开给定的URL,如果成功则返回true; 否则返回false.

  • 将字符串直接作为参数添加到该函数不起作用.要从字符串中打开URL,您需要使用`QUrl()`函数,如下所示:`openUrl(QUrl("http://stackoverflow.com/"));` (3认同)
  • 我知道.我刚发布了这条评论,以帮助人们理解这一点.当我第一次看到它时,我以为我必须直接使用一个字符串,在我明白不是这样的情况之前花了一些时间.我只是想帮助那些会想到同样事情的人. (3认同)

Tan*_*iet 24

您可以尝试此代码

QString link = "http://www.google.com";
QDesktopServices::openUrl(QUrl(link));
Run Code Online (Sandbox Code Playgroud)

阅读QDesktopServicesQUrl以获取更多信息.


小智 13

您正在寻找桌面服务类中的openUrl()

http://qt-project.org/doc/qt-4.8/QDesktopServices.html