在我的软件的“关于框”,我用了一个QGraphicsTextItem,显示约文本。

这个文本包含超文本链接(在形式:<a href="http://some.random.site">link</a>)。

在项显示正确(超文本链接是蓝色和下划线)。然而,当我点击它们,什么都不会发生。

下面是我如何创建的QGraphicsTextItem

d_about_text_item = new QGraphicsTextItem;
d_about_text_item->setTextInteractionFlags(Qt::TextBrowserInteraction);
d_about_text_item->setHtml(aboutText());

据我所知的 Qt的文档,调用setTextInteractionFlags应该让我来处理特殊的超文本链接点击事件。

还有什么我应该做的,以便能够点击链接,并在系统默认浏览器中显示链接的页面?

有帮助吗?

解决方案

我发现我做错了什么:

我含有QGraphicsView不得不setInteractive()设置为false。我删除它,因为现在,它工作正常。

其他提示

FWIW我使用标准QMessageBox提示::关于方法和简单地传递原始HTML作为文本 - 链接工作细

QMessageBox::about(this, tr("About"), tr("<h1>My App</h1><p><a href='www.stackoverflow.com'>Click me!</a></p>"));
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top