ich eine Klasse aus wx.ProgressDialog erstellt, die ich Modal aufrufen möchte.
Code: Alles auswählen
class MyProgress(wx.ProgressDialog):
def __init__(self, parent, name, pd_msg, moreargs):
wx.ProgressDialog.__init__(self, name,
pd_msg,
maximum=1,
parent=parent,
style=wx.PD_CAN_ABORT | wx.PD_APP_MODAL | wx.PD_ELAPSED_TIME | wx.PD_AUTO_HIDE
#| wx.PD_ESTIMATED_TIME
#| wx.PD_REMAINING_TIME
)
#Hier noch mehr Aktion
self.timer = wx.Timer(self)
self.Bind(wx.EVT_TIMER, self.OnPulse)
self.timer.Start(150, False)
def OnPulse(self, event):
keepgoing, skip = self.Pulse()
if keepgoing:
#Pseudo keepgoing Block
if self.testNeeded():
msg = self.getStatusMsg()
if msg != self.curmsg:
self.Update(0, msg)
self.curmsg = msg
else:
self.timer.Stop()
self.Update(1, "fertig")
#Hier noch mehr Aktion
self.EndModal(wx.ID_OK)
else:
##
#Abbrechen
##
self.timer.Stop()
#Hier noch mehr Aktion
self.EndModal(wx.ID_CANCEL)
Code: Alles auswählen
dlg=MyProgress(self,u"Titel", u"Nachricht",someargs)
if dlg.ShowModal() != wx.ID_OK:
dlg.Destroy()
return
#wenn alles geklappt hat geht es weiter
Sehr merkwürdig. Was mach ich falsch?