Ich habe versucht aus den Demos den Code für einen Progress-Dialog auf das minimalste zu reduzieren, um damit ein Skript aufzuwerten, das ansonsten ohne irgendeine Ausgabe (unter Macos) im Hintergrund läuft. Aber ich kriege es nicht hin, den Hauptframe wegzulassen. Da der aber eh nicht angezeigt wird, wäre es natürlich schön, wenn ich auf den auch noch verzichten könnte.
Mein reduzierter (den Demos entlehnter) Code:
Code: Alles auswählen
import wx
class MyFrame(wx.Frame):
def show_progr(self):
max = 20
dlg = wx.ProgressDialog("Progress dialog example",
"An informative message",
maximum = max,
parent=self,
style = wx.PD_CAN_ABORT | wx.PD_APP_MODAL)
keepGoing = True
count = 0
while keepGoing and count < max:
count += 1
wx.Sleep(1)
keepGoing,plac = dlg.Update(count)
dlg.Destroy()
self.Destroy()
class MyApp(wx.App):
def OnInit(self):
frame = MyFrame(None)
frame.Show(False)
frame.show_progr()
return True
app = MyApp()
app.MainLoop()