Seite 1 von 1

Quit Button

Verfasst: Dienstag 7. Juni 2005, 15:37
von -Sugar Princes-
Ich brauche einen Quit Button für ein Programm hier mal mein Code

Code: Alles auswählen

from Tkinter import*

import tkMessageBox

# Hauptfenster
root = Tk()
tkMessageBox.showwarning("Würfel","Würfel startet !!! Abbruch nach 5 Sekunden")

root.title("Mein Würfel")

x = CubeShow(root.after(5000, root.destroy()), "xyzt")

# Anwendungsfenster wird aktiviert
root.mainloop() 

x= CubeShow gehört zum Programm also falls es einer in der praxis probiert nicht wundern :wink:

so zum problem:

Hier wird die Warnung erzeugt "Würfel startet !!! Abbruch nach 5 Sekunden"

nur das problem ist das nach dem man okay drückt - wartet das programm 5 sec bis es den würfel aufruft der sich dann dreht

aber hier soll genau das gegenteil passieren kann mir da einer sagen was ich falsch gemacht habe?

ich denk mal ich bin nah dran nur irgendwas vertauscht oder so ?!

Verfasst: Dienstag 14. Juni 2005, 18:03
von erfurter_astronarchen
Wenn du die sys importierst, kannst du zeit sys.exit(n) aufrufen, wobei n 1 oder (0 oder -1) sein kann.
ich weiß aber nicht genau, ob du dann das fenster noch schließen musst oder nicht :lol: außerdem weiß ich nicht ganz genau, ob das dein problem war... :?: :!: aber du kannst auch sys.func(funktionsname) aufrufen, was noch eine letzte funktion ausführt "bevor das programm sich selbst beendet" ...

Probier mal...

Verfasst: Dienstag 14. Juni 2005, 18:52
von Leonidas
erfurter_astronarchen hat geschrieben:Wenn du die sys importierst, kannst du zeit sys.exit(n) aufrufen, wobei n 1 oder (0 oder -1) sein kann.
n kann auch 3 oder so sein, in der Praxis sind Werte bis 127 in Ordnung (danach machen einige Betriebssysteme Probleme). n ist der Rückgabecode des Programms, wobei 0 meist als: "Alles ok" ausgelegt wird (Shellscripte usw. nutzen das recht gerne).

Verfasst: Dienstag 14. Juni 2005, 23:11
von BlackJack
erfurter_astronarchen hat geschrieben:aber du kannst auch sys.func(funktionsname) aufrufen, was noch eine letzte funktion ausführt "bevor das programm sich selbst beendet" ...

Probier mal...

Code: Alles auswählen

In [4]: sys.func
---------------------------------------------------------------------------
exceptions.AttributeError                            Traceback (most recent call last)

/home/bj/<console>

AttributeError: 'module' object has no attribute 'func'
Gibt's nicht.

Verfasst: Mittwoch 15. Juni 2005, 13:05
von Leonidas
BlackJack hat geschrieben:

Code: Alles auswählen

In [4]: sys.func
---------------------------------------------------------------------------
exceptions.AttributeError                            Traceback (most recent call last)

/home/bj/<console>

AttributeError: 'module' object has no attribute 'func'
Gibt's nicht.
Es ging wohl um sys.exitfunc, aber man sollte besser stattdessen atexit nutzen.