在QT中,当我们实用
QTextBrowser
编辑创建链接之后,会自动用QTextBrowser
打开链接,这个时候如果页面异步加载包括用了许多前沿的新特性,可能无法渲染成功,所以就需要用系统浏览器打开。
具体方法:
利用signals
-slots
去打开,
- 用到的signal为
anchorClicked
- 用到的
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);
}
网友评论