2010-08-31 6 views
1

Comment faire, qu'une partie de GtkLabel a un événement cliqué et appelle une fonction.partie de GtkLabel cliquable

Je fais un client twitter, qui montre des tweets et je voudrais, quand dans le tweet est un # hashtag et je clique dessus, l'application montre une nouvelle fenêtre avec la recherche de ce #hashtag. et je ne sais pas comment le faire, juste #hashtag invoquerait cet événement.

Répondre

1

Vous pouvez entourer la partie cliquable dans <a> et vous connecter au signal activate-link.

Voici un exemple:

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()