Seite 1 von 1

Minimaler Code für einen Dialog?

Verfasst: Samstag 4. August 2007, 12:05
von lafcadio
Hallo

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()
Für jede Anregung dankbar, L.

Re: Minimaler Code für einen Dialog?

Verfasst: Samstag 4. August 2007, 13:04
von gerold
lafcadio hat geschrieben:Code für einen Progress-Dialog auf das minimalste zu reduzieren
Hallo lafcadio!

Willkommen im Python-Forum!

Ohne jetzt näher auf "sleep" einzugehen (das lässt deine komplette Anwendung schlafen):

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-

import wx

wx.SetDefaultPyEncoding("iso-8859-15")


def main():
    app = wx.PySimpleApp()
    
    max = 20
    dlg = wx.ProgressDialog(
        "Progress dialog example",
        "An informative message",
        maximum = max,
        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()


if __name__ == "__main__":
    main()
mfg
Gerold
:-)

Re: Minimaler Code für einen Dialog?

Verfasst: Samstag 4. August 2007, 13:57
von lafcadio
Hallo Gerold

Vielen Dank! So sieht das ja gleich viel übersichtlicher aus. Verstehen tu ich's
zwar nicht so ganz, aber hauptsache es funktioniert (werd gelegentlich mal
die Doku zu PySimpleApp konsultieren).

Gruß, L.