jetzt habe ich echt keine ahnung mehr wo der fehler liegen könnte und die fantasie geht mir auch aus, also wende ich mich mal ans forum. folgender code ist nur ein beispiel um das problem darzustellen:
Code: Alles auswählen
#/usr/bin/python
from Tkinter import *
import tkMessageBox
def ende():
antwort=tkMessageBox.askyesno("Warnung","Wollen Sie sicher beenden?")
if antwort==1:
sys.exit(0)
def mainexit():
root.destroy()
def neu():
root=Tk()
root.title("FensterB")
label=Label(root,text="///GARO_GUI")
label.grid(row=0,column=0,columnspan=2)
#Button nur zur Zierde einstweilen
button=Button(root, text="Irgendwas")
button.grid(row=1,column=0,columnspan=2)
button2=Button(root, text="Ende",command=ende)
button2.grid(row=2,column=0,columnspan=2)
root=Tk()
root.title("FensterA")
root.protocol("WM_DELETE_WINDOW", mainexit)
label=Label(root,text="///GARO_GUI")
label.grid(row=0,column=0,columnspan=2)
button=Button(root, text="Neues Fenster",command=neu)
button.grid(row=1,column=0,columnspan=2)
button2=Button(root,text="Ende",command=ende)
button2.grid(row=2,column=0,columnspan=2)
root.mainloop()
nun zum eigentlichen problem: schliesst der anwender das FensterA mit "x" und ruft dann über den Button "Ende" vom FensterB die funtkion ende auf, wird eine tkMessageBox augerufen um den Anwender zu fragen ob er sicher beenden will, aber leider wird auch gleichzeitig ein neues root erschaffen!!!
also FensterA über "x" schliessen" anwendung mit Button "Ende" von FensterB beenden = tkMessagebox und neues Fenster!!!
umgekehrt tritt das problem übrigens nicht auf.
wer kann mir da weiterhelfen???
vielen dank im voraus
mfg
roland