1

在我的软件的“关于框”中,我使用了一个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应该允许我处理特殊的超文本链接点击事件。

为了能够单击链接并在默认系统浏览器中显示链接页面,我还应该做些什么?

4

2 回答 2

2

我发现我做错了什么:

我的容器QGraphicsViewsetInteractive()设置为false. 我删除了它,从现在开始,它工作正常。

于 2010-09-02T08:33:42.527 回答
0

FWIW 我使用标准的 QMessageBox::about 方法并简单地将原始 HTML 作为文本传递 - 链接工作正常。

QMessageBox::about(this, tr("About"), tr("<h1>My App</h1><p><a href='www.stackoverflow.com'>Click me!</a></p>"));
于 2010-09-02T09:39:30.947 回答