2의 ID로 초기화 된 StaticBitmap을 표시하는 패널이 있습니다. 이미지에 마우스 이벤트를 바인딩하고 이벤트의 GetId()를 호출하면 -202를 반환합니다. 왜?wxPython : 윈도우 및 이벤트 Id
import wx
class MyFrame(wx.Frame):
def __init__(self, parent, id=-1):
wx.Frame.__init__(self,parent,id)
self.panel = wx.Panel(self,wx.ID_ANY)
img = wx.Image("img1.png",wx.BITMAP_TYPE_ANY)
img2 = wx.StaticBitmap(self.panel,2,wx.BitmapFromImage(img))
print img2.GetId() # prints 2
img2.Bind(wx.EVT_LEFT_DOWN,self.OnDClick)
def OnDClick(self, event):
print event.GetId() # prints -202
if __name__ == "__main__":
app = wx.PySimpleApp()
frame = MyFrame(None)
frame.Show()
app.MainLoop()
코드에 아무런 문제가 없습니다. 방금 처리했습니다. 처리기는 2 – volting
@volting을 인쇄합니다. 나는 그것을 실행 했으므로 옳습니다. – FogleBird
어떤 플랫폼과 Python/wxPython 버전입니까? – FogleBird