[英]WxPython frame not catching EVT_SET_FOCUS
我在這里設置了一個框架,我需要知道主gui中的活動對話框,所以這是我想的:
class PlotFrame ( wx.Frame ):
def __init__( self, parent, title , dialog_id):
wx.Frame.__init__(self, None, size=(500, 500), title=title)
self.parent = parent
self.dialog_id = dialog_id
self.Bind(wx.EVT_SET_FOCUS, self.on_focus)
def __del__( self ):
pass
def on_focus(self, event):
print "Focus:", self.dialog_id
self.parent.set_active_dialog(self.dialog_id)
這正是文檔所說的,但是單擊對話框時未調用我的事件處理程序。 在Linux上運行。 感謝幫助,謝謝
通常,您不會將焦點放在框架或面板上。 相反,您可以將其設置為用戶界面中的第一個子窗口小部件。 實際上,wxPython通常會自動為您執行此操作,這樣,如果您將按鈕或文本框作為第一個控件,則默認情況下通常會獲得焦點。
我真的看不出將焦點設置到框架的意義。 如果您只想知道框架是否處於活動狀態,則應綁定到wx.EVT_ACTIVATE
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.