Html QT打开HREF链接
我的应用程序中有一个QTextBrowser,里面充满了HTML和很多href。我希望它们是可点击的,并打开默认应用程序进入该网页-我看到了,但我不知道我应该在默认样式表中添加什么来实现这一点 链接到HTML源: 因为我必须缩进一些东西来发布pastebin链接:Html QT打开HREF链接,html,qt,Html,Qt,我的应用程序中有一个QTextBrowser,里面充满了HTML和很多href。我希望它们是可点击的,并打开默认应用程序进入该网页-我看到了,但我不知道我应该在默认样式表中添加什么来实现这一点 链接到HTML源: 因为我必须缩进一些东西来发布pastebin链接: foo bar 这里不需要使用任何样式表/css内容 只需调用QTextBrowser::setopenexternalinks(true),然后,QTextBrowser将: 自动打开指向的链接 使用QDesktopService
foo
bar
这里不需要使用任何样式表/css内容 只需调用
QTextBrowser::setopenexternalinks(true)
,然后,QTextBrowser
将:
自动打开指向的链接
使用QDesktopServices::openUrl()而不是发出
主播点击了信号。如果链接是外部链接,则将其视为外部链接
方案既不是文件也不是qrc
也可以考虑使用<代码> qTraveBuff::SETTML<代码>来设置文本内容。
例如:#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();
}
#包括
#包括
#包括
#包括
int main(int argc,char*argv[])
{
质量保证申请a(argc、argv);
qmainw窗口;
QTextBrowser*browser=新的QTextBrowser(&w);
浏览器->设置HTML(“”);
浏览器->设置OpenExternalinks(真);
w、 setCentralWidget(浏览器);
w、 show();
返回a.exec();
}
你为什么用css标记这个,为什么你的标题谈论样式表?你的QTextBrowser
只是显示一个html内容?@jpo38如果你阅读了链接的答案,他们说可以通过CSS来完成。我有,如果你想点击的链接是我有的html中的HREF,那么这不起作用seen@ChildishJack:这确实有效。请编译并运行提供的示例。它非常适合我(我的网络浏览器是在点击链接时启动的)。我基本上已经将此网页复制到浏览器中,我删除了图像。我已经编译和测试了好几次。QT Creator相信已启用打开外部链接,但应用程序输出QFSFileEngine::open:未指定文件名
。例如,靠近页面顶部的链接“1”在浏览器中工作并在外部打开,但其他链接都没有。您链接的页面具有类似于HREF=“hexagon_lattices.html”
的HREF,当您的web浏览器显示(相对路径链接)时打开。这是有道理的。现在,当您将其复制到QTextBrowser
时,您希望Qt如何猜测HREF=“hexagon_lattices.html”
意味着HREF=https://cms.mpi.univie.ac.at/vasp/vasp/hexagonal_lattices.html
???它不能,所以它显然无法打开链接…好吧,天真的,我只是有点期待复制和粘贴工作。我以前从未接触过HTML,也从未深入研究过它,但你的解释很有道理。谢谢你提供的信息,我将把这个基础添加到所有的HREF中。