Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html QT打开HREF链接_Html_Qt - Fatal编程技术网

Html QT打开HREF链接

Html QT打开HREF链接,html,qt,Html,Qt,我的应用程序中有一个QTextBrowser,里面充满了HTML和很多href。我希望它们是可点击的,并打开默认应用程序进入该网页-我看到了,但我不知道我应该在默认样式表中添加什么来实现这一点 链接到HTML源: 因为我必须缩进一些东西来发布pastebin链接: foo bar 这里不需要使用任何样式表/css内容 只需调用QTextBrowser::setopenexternalinks(true),然后,QTextBrowser将: 自动打开指向的链接 使用QDesktopService

我的应用程序中有一个QTextBrowser,里面充满了HTML和很多href。我希望它们是可点击的,并打开默认应用程序进入该网页-我看到了,但我不知道我应该在默认样式表中添加什么来实现这一点

链接到HTML源:

因为我必须缩进一些东西来发布pastebin链接:

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中。