wxpython auinotebook 닫기 탭 이벤트
문제
Auinotebook에서 탭을 닫을 때 어떤 이벤트가 사용됩니까? EVT_AUINOTEBOOK_PAGE_CLOSE (D)로 테스트했습니다. 작동하지 않았습니다.
또한 탭 자체 이벤트를 마우스 오른쪽 버튼으로 클릭하고 싶습니다.
AUI 관리자/노트북과 함께 사용할 수있는 모든 이벤트는 어디에서 찾을 수 있습니까? 저의 검색 기술이 좋지 않을 수도 있지만 마우스/윈도우 이벤트가 아니라 존재하는 다른 이벤트에 대한 목록을 찾을 수 없습니다. 완전한 목록을 갖는 것이 정말 편리합니다.
#!/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()
오잔 페스터
해결책
이것은 당신이 원하는 바인드 명령입니다.
self.Bind(wx.aui.EVT_AUINOTEBOOK_PAGE_CLOSED, self.close, self.nb)
탭을 마우스 오른쪽 버튼으로 클릭하려면 (예 : 사용자 정의 컨텍스트 메뉴를 표시하려면) :
self.Bind(wx.aui.EVT_AUINOTEBOOK_TAB_RIGHT_DOWN, self.right, self.nb)
AUI 노트북 이벤트 목록은 다음과 같습니다.
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
보낸 사람 : {Python 폴더}/lib/site-packages/{wxpython 폴더} /wx/aui.py
제휴하지 않습니다 StackOverflow