Seite 1 von 1

pop up fenster mit destroy nur wie

Verfasst: Montag 23. Oktober 2006, 08:21
von Mati
Hallo,
ich habe einfach ein programm und würde gern wenn ein fehler auftritt
ein eigenes fenster öffnen lassen wo 2 buttons drin sind. Allerdings habe ich probleme das einfach rein zu packen ohne eine eigene klasse zu schreiben...denn das fenster soll sich auch selbst dann zerstören falls man auf abbruch drückt.

hier mal mein versuch

Code: Alles auswählen

def rueckgabe():
     11         print "ok"
     12         tk.destroy
     13
     14     #frame = Frame(root, bd = 1, relief = SUNKEN)
     15     #frame.grid()
     16
     17     #Label(tk, text="jjjjgerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrjjjjjjjjjjjjjj").grid(row=0, column=0, columnspan = 2)
     18 #    Button(tk, text = "Abbruch", command = tk.destroy).grid(row = 1, column = 1, columnspan = 1, rowspan = 1, sticky =  W+E+N+S)
     19 #    Button(tk, text = "Ok", command = rueckgabe).grid(row = 1, column = 0, sticky =  W+E+N+S)
     20
     21     frame = Frame(tk, bd=3, relief=SUNKEN)
     22
     23     frame.pack(side=BOTTOM, fill = BOTH, expand=YES)
     24     Label(tk, height=4,text='The defined output folder is already existent!\nDo you really want to overwrite' + \
     25                    ' the content within this folder?').pack(side=TOP, fill = BOTH, expand=YES)
     26     Button(frame, text = "Ok", command = rueckgabe()).pack(side=LEFT, fill = BOTH, expand=YES)
     27     Button(frame, text = "Abbruch", command = tk.destroy).pack(side=RIGHT, fill=BOTH,expand=YES)#row = 1, column = 1, sticky = EW)

danke

Verfasst: Montag 23. Oktober 2006, 09:27
von BlackJack
Wo kommen denn die Zahlen am Anfang jeder Zeile her? Das ist so keine gültige Python Syntax.

Ich nehme mal an an `tk` ist an das Hauptfenster gebunden!? Dann wird mit dem Aufruf von `tk.destroy()` natürlich auch dieses zerstört. Versuchs mal mit der `destroy()` Methode auf dem `Frame` Objekt.

Verfasst: Montag 6. November 2006, 07:29
von Michael Schneider
Hi Mati,

für soetwas gibt es doch die Standard Messagedialoge:

Code: Alles auswählen

import Tkinter, tkMessageBox
tk = Tkinter.Tk()    ##  optional
if tkMessageBox.askyesno(title="Warnung", message="Verzeichnis existiert bereits\nueberschreiben?"):
    ##  Block fuer ja...
    print "ja gewaehlt"
else:
    ##  Block fuer nein...
    print "nein gewaehlt"
tk.destroy()    ##  optional, in Verbindung mit Zeile 2
print "\nweitere Standarddialoge..."
help(tkMessageBox)
Wenn Du möchtest, kannst Du auch das angezeigte Icon ändern.

Grüße,
der Michel