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

时间:2011-07-27 20:33:16

标签: hyperlink clutter

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

有没有一种简单的方法可以做到这一点?

1 个答案:

答案 0 :(得分:3)

MeeGo Netbook用户体验有一个ClutterText子类,允许突出显示和点击URL:

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

基础是:

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

如果您希望它处理事件,请记住使ClutterText actor具有反应性。 : - )