2010-08-31 69 views
1

如何做,只是GtkLabel的一部分有一个点击事件并调用一个函数。GtkLabel可点击的部分

我做一个推特客户端,女巫显示推文,我想,当推文是一个#hashtag,我点击它,应用程序显示一个新的窗口,搜索此#hashtag。我不知道该怎么做,只是#hashtag会调用这个事件。

回答

1

您可以围绕<a>标记中的可点击部分并连接到activate-link信号。

下面是一个例子:

import gtk 

def hashtag_handler(label, uri): 
    print('You clicked on the tag #%s' % uri) 
    return True # to indicate that we handled the link request 

window = gtk.Window() 
label = gtk.Label() 
label.set_markup('Unclickable line\nLine with a <a href="hashtag">#hashtag</a>\nLine with a <a href="different">#different</a> hashtag') 
label.connect('activate-link', hashtag_handler) 
window.add(label) 
window.connect('destroy', gtk.main_quit) 
window.show_all() 

gtk.main()