[Qt]实用系统安装的浏览器打开QTextBrowser中的链接方法


在QT中,当我们实用QTextBrowser编辑创建链接之后,会自动用QTextBrowser打开链接,这个时候如果页面异步加载包括用了许多前沿的新特性,可能无法渲染成功,所以就需要用系统浏览器打开。

具体方法:
利用signals-slots 去打开,

  1. 用到的signal为anchorClicked
  2. 用到的slots自定义之后用QDesktopServices::openUrl打开链接

代码如下:

ui->introTxtBrowser->setOpenLinks(false);
connect(ui->introTxtBrowser, SIGNAL(anchorClicked(const QUrl&)),this, SLOT(open(const QUrl&)));

void changyanlong_xiaolaohu::open(const QUrl& url)
{
    qDebug("open url: %s",url.toString().toStdString().data());
    QDesktopServices::openUrl(url);
}

done

你可能感兴趣的:([Qt]实用系统安装的浏览器打开QTextBrowser中的链接方法)