我的应用程序中有一个QTextBrowser,里面充满了HTML和许多href。我希望它们可点击并打开默认应用程序以转到该网页 - 我看到了this answer,但我不知道应该在默认样式表中添加什么来完成此操作。QT打开HREF链接
链接到HTML源:https://pastebin.com/ApSm296G
因为我要缩进的东西来发布引擎收录链接:
foo
bar
我的应用程序中有一个QTextBrowser,里面充满了HTML和许多href。我希望它们可点击并打开默认应用程序以转到该网页 - 我看到了this answer,但我不知道应该在默认样式表中添加什么来完成此操作。QT打开HREF链接
链接到HTML源:https://pastebin.com/ApSm296G
因为我要缩进的东西来发布引擎收录链接:
foo
bar
没有必要在这里使用任何样式表/ CSS的东西。
要获取QTextBrowser::setOpenExternalLinks(true)
然后,as documented,QTextBrowser
将则:
自动打开链接使用QDesktopServices的OpenURL()而不是发射 的anchorClicked信号 外部源::。如果链接 既不是文件也不是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();
}
我有,这是行不通的,如果你想点击的链接是HTML中的HREF我已经看到 – MadisonCooper
@ChildishJack:这是行不通的。请编译并运行提供的示例。它对我来说非常合适(点击链接时我的浏览器就会启动)。 – jpo38
我已经基本上将这个网页https://cms.mpi.univie.ac.at/vasp/vasp/vasp.html复制到浏览器中,我删除了图像。我编译并测试了好几次。 QT Creator相信打开的外部链接已启用,但应用程序输出'QFSFileEngine :: open:没有指定文件名'。例如,页面顶部附近的链接“1”在浏览器中运行,并在外部打开,但其他浏览器都无法打开。 – MadisonCooper
你为什么用CSS标签这个?为什么您的标题talkes约样式表?你的'QTextBrowser'只显示一个html内容? – jpo38
@ jpo38如果您阅读链接的答案,他们说可以通过CSS完成。 – MadisonCooper