0
我创建了一个对话框,找出聚焦的元素。 这就是我写道:pygtk:找出聚焦的元素
import gtk
import gobject
class FocusedElementPath(gtk.Dialog):
def __init__(self, parent, title=None):
gtk.Dialog.__init__(self, title or 'Show path', parent)
self.catch_within = parent
self.catch_focus = True
self.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
again_btn = gtk.Button('',gtk.STOCK_REFRESH)
again_btn.connect('activate', self.refresh_pressed)
again_btn.show()
self.action_area.add(again_btn)
self.add_button(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL)
self.action_area.set_layout(gtk.BUTTONBOX_EDGE)
self.path = gtk.Label()
self.path.show()
self.vbox.add(self.path)
def refresh_pressed(self, btn):
self.catch_focus = True
def do_focus_out_event(self, evt):
nl = self.catch_within.get_focus()
if nl:
self.catch_within.activate_focus()
self.path.set_text(repr(nl))
else:
self.path.set_text('None')
gtk.Dialog.on_focus_event(self, evt)
gobject.type_register(FocusedElementPath)
的问题是,它返回先前的焦点内容。 有什么方法可以找出当前的焦点元素? 我已经尝试过不同的事件(对话框和窗口),但没有任何帮助:( 我在做什么错误或我如何正确地这样做?
我想找出父窗口焦点元素 – Daniel