我想添加一个超链接到文本浏览器以打开对话框。
具体地说,我使用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
。
1条答案
按热度按时间qmb5sa221#
您应该将QTextBrowser::anchorClicked信号连接到
handleLinkClicked()
插槽。就像这样: