QT打开HREF链接

时间:2017-05-31 18:04:47

标签: html qt

我的应用程序里面有一个QTextBrowser,里面装满了HTML和很多href。我希望它们可以点击并打开默认应用程序转到该网页 - 我看到了this answer,但我不知道应该在默认样式表中添加什么来完成此任务。

链接到HTML源代码:https://pastebin.com/ApSm296G

因为我必须缩进以发布一个pastebin链接:

foo
bar

1 个答案:

答案 0 :(得分:2)

这里没有必要使用任何样式表/ CSS。

只需致电QTextBrowser::setOpenExternalLinks( true ),然后as documentedQTextBrowser即可:

  

自动打开链接   外部源使用QDesktopServices :: openUrl()而不是发射   anchorClicked信号。链接被认为是外部的   scheme既不是文件也不是qrc。

另请考虑使用QTextBrowser::setHtml设置文字内容。

示例:

#include <QApplication>

#include <QVBoxLayout>
#include <QTextBrowser>
#include <QMainWindow>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QMainWindow w;

    QTextBrowser* browser = new QTextBrowser(&w);
    browser->setHtml( "<a href=\"https://www.w3schools.com\">Visit W3Schools</a>" );
    browser->setOpenExternalLinks( true );
    w.setCentralWidget(browser);

    w.show();

    return a.exec();
}