1
Ich möchte Ereignisse mit AddPendingEvent
senden. Nach dem Aufruf von AddPendingEvent
passiert jedoch nichts. Das folgende ist ein Beispiel, in dem erwartet wird, dass eine Schaltfläche eine wx.CloseEvent
an den Rahmen sendet.AddPendingEvent hat keinen Effekt
import wx
class MainFrame(wx.Frame):
def __init__(self):
super(wx.Frame, self).__init__(None, wx.ID_ANY, 'Test')
self.button = wx.Button(self, wx.ID_ANY, 'Close', self.GetClientSize()/2)
self.button.Bind(wx.EVT_BUTTON, self.OnButton)
self.Bind(wx.EVT_CLOSE, self.OnClose)
self.Show()
def OnButton(self, event: wx.CommandEvent):
self.AddPendingEvent(wx.CloseEvent())
def OnClose(self, event: wx.CloseEvent):
self.Destroy()
if __name__ == '__main__':
app = wx.App()
frame = MainFrame()
app.MainLoop()
Ich habe auch versucht, QueueEvent
oder wx.PostEvent
, die Ergebnisse sind die gleichen.