代码之家  ›  专栏  ›  技术社区  ›  ereOn

如何使qgraphicsTextItem可单击?

  •  1
  • ereOn  · 技术社区  · 14 年前

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

    此文本包含超文本链接(格式为: <a href="http://some.random.site">link</a> )

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

    以下是我如何创建 qgraphicsText项目 :

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

    据我所知 Qt documentation 呼唤 setTextInteractionFlags 应该允许我处理特殊的超文本链接点击事件。

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

    2 回复  |  直到 14 年前
        1
  •  2
  •   ereOn    14 年前

    我发现我做错了什么:

    我的包容 QGraphicsView setInteractive() 设置为 false . 我把它取下来了,从现在起,它就可以正常工作了。

        2
  •  0
  •   Rob    14 年前

    fwiw我使用标准的qmessagebox::about方法,并简单地传递原始HTML,因为文本链接工作正常。

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