2010-02-01 5 views
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) 

문제가 이전에 초점을 맞춘 요소를 반환합니다. 현재 포커스 된 요소를 찾을 수있는 방법이 있습니까? 은 내가 (창 대화 및 대한) 다른 이벤트를 시도했지만, 아무것도 내가 뭘 잘못 :( 도움을하거나 내가 어떻게이 제대로합니까?

답변

1

gtk.Window.get_focus (도 gtk.Dialog에서 구매 가능) 반환 현재 포커스 자녀.

어쨌든 나는 여기에서 성취하기를 원하는 것을 이해하지 못한다. ...

+0

나는 부모 창에 초점을 맞춘 요소를 찾고 싶다. – Daniel