簡體   English   中英

WxPython框架無法捕獲EVT_SET_FOCUS

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM