如何使 QGraphicsTextItem 可点击?

发布于 2024-09-16 19:51:13 字数 646 浏览 3 评论 0原文

在我的软件的“关于”框中,我使用 QGraphicsTextItem 来显示关于文本。

该文本包含超文本链接(格式为:link)。

该项目正确显示(超文本链接为蓝色并带有下划线)。但是,当我点击它们时,什么也没有发生。

以下是我创建 QGraphicsTextItem 的方式:

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

据我了解 Qt 文档,对 setTextInteractionFlags 的调用应该允许我处理特殊的超文本链接点击事件。

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

In the "About box" of my software, I used a QGraphicsTextItem to show the about-text.

This text contains hypertext links (in the form of: <a href="http://some.random.site">link</a>).

The item shows up properly (hypertext links are blue and underlined). However, when I click on them, nothing happens.

Here is how I created the QGraphicsTextItem:

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

As I understand the Qt documentation, the call to setTextInteractionFlags should allow me to handle special hypertext links click events.

Is there anything else I should do to be able to click on the links and show up the linked page in the default system browser ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

与他有关 2024-09-23 19:51:13

我发现我做错了什么:

我的包含 QGraphicsViewsetInteractive() 设置为 false。我删除了它,从现在开始,它工作得很好。

I found what I did wrong:

My containing QGraphicsView had setInteractive() set to false. I removed it and since now, it works fine.

终难愈 2024-09-23 19:51:13

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

QMessageBox::about(this, tr("About"), tr("<h1>My App</h1><p><a href='www.stackoverflow.com'>Click me!</a></p>"));

FWIW I use the standard QMessageBox::about method and simply pass raw HTML as the text - links work fine.

QMessageBox::about(this, tr("About"), tr("<h1>My App</h1><p><a href='www.stackoverflow.com'>Click me!</a></p>"));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文