您的位置:首页 > 编程语言 > Qt开发

如何使用系统默认浏览器打开QTextBrowser中的链接

2013-03-26 18:58 1661 查看
QTextBrowser会试图自己打开链接,大部分时候这不是你想要的效果,所以要setOpenLinks(false)。之后捕获anchorClicked信号,然后调用ShellExecute函数用系统默认浏览器打开url。参考代码如下

===============================================

#include "testtextbrowser.h"

#include <QString>

#include <windows.h>

TestTextBrowser::TestTextBrowser(QWidget *parent, Qt::WFlags flags)

:
QMainWindow(parent, flags)

{

ui.setupUi(this);

ui.textBrowser->setOpenLinks(false);

connect(ui.textBrowser,
SIGNAL(anchorClicked(const QUrl&)),this, SLOT(anchorClickedSlot(const QUrl&)));

ui.textBrowser->append(QString::fromLocal8Bit("<a
href = \"http://www.sina.com.cn/\">新浪</a>"));

}

void TestTextBrowser::anchorClickedSlot(const QUrl& url)

{

ShellExecuteA(NULL,
"open", url.toString().toStdString().c_str(), "", "", SW_SHOW);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: