2009-03-09 7 views
7

Welches Ereignis wird verwendet, wenn ich eine Registerkarte in einem Ainotebook schließe? Ich testete mit EVT_AUINOTEBOOK_PAGE_CLOSE (D). Es hat nicht funktioniert.wxpython ainotebook Tab schließen Ereignis

Ich würde auch gerne einen Rechtsklick auf den Tab selbst Ereignis auslösen.

Wo finde ich alle Ereignisse, die mit dem AUI Manager/Notebook verwendet werden können? Könnten nur meine schlechten Suchfähigkeiten sein, aber ich kann keine Listen über die verschiedenen Ereignisse finden, die existieren, auch nicht für Maus-/Fenster-Ereignisse. Es wäre wirklich praktisch, eine vollständige Liste zu haben.

#!/usr/bin/python 

#12_aui_notebook1.py 

import wx 
import wx.lib.inspection 

class MyFrame(wx.Frame): 
    def __init__(self, *args, **kwds): 
     wx.Frame.__init__(self, *args, **kwds) 

     self.nb = wx.aui.AuiNotebook(self) 

     self.new_panel('Page 1') 
     self.new_panel('Page 2') 
     self.new_panel('Page 3') 

     self.nb.Bind(wx.EVT_AUINOTEBOOK_PAGE_CLOSED, self.close) 

    def new_panel(self, nm): 
     pnl = wx.Panel(self) 
     pnl.identifierTag = nm 
     self.nb.AddPage(pnl, nm) 
     self.sizer = wx.BoxSizer() 
     self.sizer.Add(self.nb, 1, wx.EXPAND) 
     self.SetSizer(self.sizer) 

    def close(self, event): 
     print 'closed' 

class MyApp(wx.App): 
    def OnInit(self): 
     frame = MyFrame(None, -1, '12_aui_notebook1.py') 
     frame.Show() 
     self.SetTopWindow(frame) 
     return 1 

if __name__ == "__main__": 
    app = MyApp(0) 
# wx.lib.inspection.InspectionTool().Show() 
    app.MainLoop() 

Oerjan Pettersen

Antwort

8

Dies ist der Befehl bind Sie wollen:

self.Bind(wx.aui.EVT_AUINOTEBOOK_PAGE_CLOSED, self.close, self.nb) 

Um einen Rechtsklick auf das Register zu erfassen (zB ein eigenes Kontextmenü anzuzeigen):

self.Bind(wx.aui.EVT_AUINOTEBOOK_TAB_RIGHT_DOWN, self.right, self.nb) 

Hier ist eine Liste der AUI Notebook-Ereignisse:

EVT_AUINOTEBOOK_PAGE_CLOSE 
EVT_AUINOTEBOOK_PAGE_CLOSED 
EVT_AUINOTEBOOK_PAGE_CHANGED 
EVT_AUINOTEBOOK_PAGE_CHANGING 
EVT_AUINOTEBOOK_BUTTON 
EVT_AUINOTEBOOK_BEGIN_DRAG 
EVT_AUINOTEBOOK_END_DRAG 
EVT_AUINOTEBOOK_DRAG_MOTION 
EVT_AUINOTEBOOK_ALLOW_DND 
EVT_AUINOTEBOOK_DRAG_DONE 
EVT_AUINOTEBOOK_BG_DCLICK 
EVT_AUINOTEBOOK_TAB_MIDDLE_DOWN 
EVT_AUINOTEBOOK_TAB_MIDDLE_UP 
EVT_AUINOTEBOOK_TAB_RIGHT_DOWN 
EVT_AUINOTEBOOK_TAB_RIGHT_UP 

Von: {Python Ordner}/Lib/site-packages/{wxpython Ordner} /wx/aui.py

+0

Dank. Wird sehr nützlich sein. – Orjanp

Verwandte Themen