2

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

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

4

1 回答 1

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 处理事件,请记住使其具有响应性。:-)

于 2011-07-28T08:20:24.183 回答