PyGTK Label发出ButtonPressEvent什么都不做,返回False

时间:2016-04-25 20:04:24

标签: python events gtk label pygtk

标签可以通过使用Pango标记来链接,但是当在扩展器中使用标签时,不会发出标签上的“按钮按事件”。我想如果我创建了Expander的子类并自己发出了“button-press-event”,那么链接就会被点击。下面给出了“按钮按事件”失败的最小示例:

import gtk 

def on_activate(label, uri):
    print(uri)

def on_click(widget, event):
    label.emit('button-press-event', event)

window = gtk.Window()
expander = gtk.Expander()
window.add(expander)
label = gtk.Label('<a href="google.com">link</a>')
label.set_use_markup(True)
label.connect("activate-link", on_activate)
expander.set_label_widget(label)

expander.connect("button-press-event", on_click)

window.connect("destroy", gtk.main_quit)
window.show_all()
gtk.mainloop()

如果我添加了print次来电,我可以看到正在调用on_click(),但on_activate()未被调用。奇怪的是,如果我打印label.emit(...)的返回值,它会打印False。那是什么意思?我该如何点击链接?

0 个答案:

没有答案