2010-08-31 65 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()