html QT 4.8.6文本浏览器显示运行函数的超链接

7y4bm7vi  于 2023-06-20  发布在  其他
关注(0)|答案(1)|浏览(125)

我想添加一个超链接到文本浏览器以打开对话框。
具体地说,我使用textBrowser作为错误消息窗口,如果我单击一条消息,我想打开一个对话框。我做了一个超链接,打开网站与ui.textBrowser.append("<a href=https://www.google.com>Google</a>"),但正如我所说,我希望链接运行一个功能,以显示一个对话框。
我试过这样的方法:

void dlgMessages::on_btnerr_clicked()
{
    QString linkText = "<a href=\"helloLink\">HELLO</a>";
    ui.textBrowser->setOpenExternalLinks(false);
    ui.textBrowser->moveCursor(QTextCursor::Start);
    ui.textBrowser->append(linkText);
}

void dlgMessages::handleLinkClicked(const QUrl& url)
{
    if (url.toString() == "helloLink") {
        qDebug() << "Hello Guys";
    }
}

这些函数只是简单地附加一个超链接到textBrowser,当用户单击消息,如果消息的链接是“helloLink”,我希望输出说“Hello Guys”。但我得到了QTextBrowser: No document for helloLink

qmb5sa22

qmb5sa221#

您应该将QTextBrowser::anchorClicked信号连接到handleLinkClicked()插槽。
就像这样:

connect(ui.textBrowser, &QTextBrowser::anchorClicked,
        this, &dlgMessages::handleLinkClicked);

相关问题