GtkLabel的一部分可点击

时间:2010-08-31 10:40:40

标签: python gtk pygtk

怎么做,只有GtkLabel的一部分有一个点击事件并调用一个函数。

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

1 个答案:

答案 0 :(得分: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()