Pythonmania

Script Different!

Suchen in:
Suche:
In Partnerschaft mit Amazon.de
Startseite | Schockwellenreiter | Impressum
Anzeigen


Easy Dialogs

Streifzug durch einige Macintosh Library Module (1)

Auch wenn Scriptsprachen selten dazu benutzt werden, vollständige Applikationen zu schreiben, benötigt man gelegentlich doch auch einmal ein paar GUI-Elemente, falls man dem User die Kommandozeile nicht zumuten will. Für Python gibt es neben Tkinter, das auf dem Mac zur Zeit nicht sehr zuverlässig funktioniert (aber Abhilfe ist ab Version 2.3 versprochen), das Macintosh Library Module, das unter anderem den Zugriff auf die originalen Macintosh GUI-Elemente ermöglicht.

Das Modul EasyDialogs

Das Module EasyDialogs ist das einfachste dieser Module und beschreibt einige einfache Dialoge. Dies Modul muß natürlich importiert werden:

>>> import EasyDialogs

gilt für alle folgenden Beispiele:

Message(str)
Diese Funktion schreibt einen einfachen modalen Dialog. Die Kontrolle wird an das Programm zurückgegeben, nachdem der User den OK-Button gedrückt hat.

>>> EasyDialogs.Message("Hello World!")

erzeugt folgenden Dialog:

Modaler Dialog


AskString(prompt [. default])
Fragt den Benutzer nach einem Textstring. Prompt ist ein Erklärungstext, der übergeben wird, das optionale default wäre eine Vorbelegung. Rückgabewert ist der maximal 255 Zeichen lange Text, den der Besucher eingegeben hat oder None, falls der Cancel-Button gedrückt wurde.

>>> myString = EasyDialogs.AskString("Geben Sie eine Stadt Ihrer Wahl ein", "Mülheim-Ruhr")

erzeugt folgenden Dialog:

AskString-Dialog

Und wenn der User den OK-Button gedrückt hat:

>>> print myString
Mülheim-Ruhr


AskPassword(prompt[, default])
funktioniert exakt so wie AskString(), nur daß statt des Textes im Eingabefeld schwarze Punkte angezeigt werden.

AskYesNoCancel(question[, default])
Bring einen Dialog mit dem Text question und den drei Knöpfen »Yes«, »No« und »Cancel«. Der Rückgabewert ist abhängig vom gedrückten Knopf entweder 1 für »Yes«, 0 für »No« und -1 für »Cancel«. Per Default wird 0 zurückgegeben, wenn die Return-Taste gedrückt wird. Dies kann jedoch im optionalen default-Argument geändert werden.

>>> answer = EasyDialogs.AskYesNoCancel("Sicher? Wollen Sie wirklich die gesamte Festplatte löschen?")

bringt folgenden Dialog:

YesNoCancel-Dialog

ProgressBar([title[, maxval[, label]]])
ProgressBar() ist keine Funktion, sondern eine Klasse. Daher muß zuerst eine Instanz erzeugt werden. Alle Parameter sind optional. title ist der Titel, der in der Fensterleiste zu sehen ist (Default: »Working...«), maxval ist der Wert, bei dem die Fortschrittsanzeige abgeschlossen ist (Default: 100) und label ist ein zusätzlicher Text, der über der Fortschrittsanzeige selber angezeigt wird. Das Objekt besitzt eine Methode label(text), mit der dieser Text gesetzt und eine Methode set(value), mit der der Wert der Fortschrittsanzeige verändert werden kann. Die Progress Bar muß mit del entfernt werden, bis dahin bleibt sie sichtbar.

Progress Bar

Obige Progress Bar wurde mit folgendem Code erzeugt:

pb = EasyDialogs.ProgressBar("Singing Barbershop Songs...")
for i in xrange(100):
    pb.set(i)
del pb


Die Progress Bar besitzt einen Cancel-Button, der aber völlig nutzlos zu sein scheint.

Das Modul EasyDialogs läuft sowohl mit dem Python Interpreter als auch in der IDE.

Python Icon   Script different!






Werbung: