如何将超链接添加到ClutterText actor ?



我有一个ClutterText对象,我想显示一个可点击的超链接。ClutterText可以选择使用Pango标记,但显然不是标记超链接的方法。

有简单的方法吗?

MeeGo上网本用户体验有一个允许高亮显示和点击url的ClutterText子类:

https://github.com/meego-netbook-ux/meego-panel-myzone/blob/master/penge/penge-clickable-label.c

的基础是:

  • 检测文本内URL的边界(通常使用正则表达式);
  • 使用PangoAttributes改变样式(下划线+颜色);
  • 使用button-release-event信号,或者如果你想允许其他行为,使用capture -event信号来检测用户在ClutterText的PangoLayout中的点击位置;
  • 如果按钮事件的坐标在链接的边界内,则成功:发出一个信号或调用一个函数来处理URL。

如果你想让clutertext actor处理事件,记得让它响应。: -)

最新更新