我的应用程序里面有一个QTextBrowser,里面装满了HTML和很多href。我希望它们可以点击并打开默认应用程序转到该网页 - 我看到了this answer,但我不知道应该在默认样式表中添加什么来完成此任务。
链接到HTML源代码:https://pastebin.com/ApSm296G
因为我必须缩进以发布一个pastebin链接:
foo
bar
答案 0 :(得分:2)
这里没有必要使用任何样式表/ CSS。
只需致电QTextBrowser::setOpenExternalLinks( true )
,然后as documented,QTextBrowser
即可:
自动打开链接 外部源使用QDesktopServices :: openUrl()而不是发射 anchorClicked信号。链接被认为是外部的 scheme既不是文件也不是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();
}