Fenster schließen, nachdem Button gedrückt wurde
Verfasst: Montag 31. August 2020, 10:56
Hallo liebe Mitglieder des Python Forums,
Bin gerade am Programmieren eines Prüfplatzes. Das Programm läuft soweit, hat jedoch einige Schwächen.
1. Sobald man auf den Button "Prüfprogramm starten" drückt, öffnet sich das zweite Fenster ordnungsgemäß. Dies geschieht mit einem command Befehl in Button B1. Das Programm springt nach Betätigung des Buttons nach "createNewWindow". Dort erstelle ich ein zweites Fenster. Jedoch weiß ich nicht, wie ich nun das erste Fenster automatisch schließen lasse, wenn das zweite auf geht.
2. Einer der beiden Radiobuttons im zweiten Fenster ist anfangs ohne etwas zu drücken aktiv,obwohl ich die Variable x vorher auf null setze. Verstehe meinen fehler dort nicht.
3.Eine Frage für die Zukunft: Wie programmiere ich folgendes Ereignis: Wenn Radiobutton 1 aktiv und Test starten =1 ---->Programm 1 läuft
Wenn Radiobutton 2 aktiv und Test starten=1------> Programm 2 läuft
Ich bin für jeden Tip oder Lösungsvorschlag dankbar!
from tkinter import *
def createNewWindow():
def Test_läuft():
B1["bg"] = "#00FF00"
return
def Abbruch():
B1["bg"] = "#FF0000"
return
#newWindow = Toplevel(root)
neuerTitel=Tk()
neuerTitel.title("Prüfplatz Laetus")
root = neuerTitel
textfenster=Text(root)
textfenster["width"] = 50
textfenster["bd"] = 3
B1 = Button(root, text="Test starten", command=Test_läuft)
B1["bd"] = 3
B1["width"] = 15
B2 = Button(root, text="Abbrechen", command=Abbruch)
B2["bd"] = 3
B2["width"] = 15
textfenster.grid(row=12,column=0,columnspan=5,sticky="s")
B1.grid(row=1, column=1, sticky="sw")
B2.grid(row=2, column=1, sticky="sw")
lab2 = Label(root, text=" Initialisierung")
lab2["font"] = "Arial 16 "
lab2.grid(row=0, column=0, sticky="w")
lab3 = Label(root, text="Log")
lab3["font"] = "Arial 12 italic"
lab3.grid(row=10, column=0, sticky="w")
x = IntVar()
x.set(0)
RB0 = Radiobutton(root, text="smartspect", variable=x,value=1)
RB1 = Radiobutton(root, text="iCam", variable=x,value=2)
RB0.grid(row=1, column=0, sticky="w")
RB1.grid(row=2, column=0, sticky="w")
#---Hauptprogramm-----
neuerTitel = Tk()
neuerTitel.title("Prüfplatz Laetus")
root = neuerTitel
B0 = Button(root,text="Prüfprogramm starten",command=createNewWindow)
B0["font"] = "Arial 15"
B0["bd"]=3
B0["width"]=30
B0["height"]=2
img1 = PhotoImage(file ="C:/Users/wolf_m/Pictures/Hund.PNG")
img2 = PhotoImage(file ="C:/Users/wolf_m/Pictures/Laetus.PNG")
lab4 = Label(root,image = img1)
lab5 = Label(root,image =img2)
B0.pack(side=TOP)
lab4.pack(side=LEFT)
lab5.pack(side=RIGHT)
root.mainloop()
Bin gerade am Programmieren eines Prüfplatzes. Das Programm läuft soweit, hat jedoch einige Schwächen.
1. Sobald man auf den Button "Prüfprogramm starten" drückt, öffnet sich das zweite Fenster ordnungsgemäß. Dies geschieht mit einem command Befehl in Button B1. Das Programm springt nach Betätigung des Buttons nach "createNewWindow". Dort erstelle ich ein zweites Fenster. Jedoch weiß ich nicht, wie ich nun das erste Fenster automatisch schließen lasse, wenn das zweite auf geht.
2. Einer der beiden Radiobuttons im zweiten Fenster ist anfangs ohne etwas zu drücken aktiv,obwohl ich die Variable x vorher auf null setze. Verstehe meinen fehler dort nicht.
3.Eine Frage für die Zukunft: Wie programmiere ich folgendes Ereignis: Wenn Radiobutton 1 aktiv und Test starten =1 ---->Programm 1 läuft
Wenn Radiobutton 2 aktiv und Test starten=1------> Programm 2 läuft
Ich bin für jeden Tip oder Lösungsvorschlag dankbar!
from tkinter import *
def createNewWindow():
def Test_läuft():
B1["bg"] = "#00FF00"
return
def Abbruch():
B1["bg"] = "#FF0000"
return
#newWindow = Toplevel(root)
neuerTitel=Tk()
neuerTitel.title("Prüfplatz Laetus")
root = neuerTitel
textfenster=Text(root)
textfenster["width"] = 50
textfenster["bd"] = 3
B1 = Button(root, text="Test starten", command=Test_läuft)
B1["bd"] = 3
B1["width"] = 15
B2 = Button(root, text="Abbrechen", command=Abbruch)
B2["bd"] = 3
B2["width"] = 15
textfenster.grid(row=12,column=0,columnspan=5,sticky="s")
B1.grid(row=1, column=1, sticky="sw")
B2.grid(row=2, column=1, sticky="sw")
lab2 = Label(root, text=" Initialisierung")
lab2["font"] = "Arial 16 "
lab2.grid(row=0, column=0, sticky="w")
lab3 = Label(root, text="Log")
lab3["font"] = "Arial 12 italic"
lab3.grid(row=10, column=0, sticky="w")
x = IntVar()
x.set(0)
RB0 = Radiobutton(root, text="smartspect", variable=x,value=1)
RB1 = Radiobutton(root, text="iCam", variable=x,value=2)
RB0.grid(row=1, column=0, sticky="w")
RB1.grid(row=2, column=0, sticky="w")
#---Hauptprogramm-----
neuerTitel = Tk()
neuerTitel.title("Prüfplatz Laetus")
root = neuerTitel
B0 = Button(root,text="Prüfprogramm starten",command=createNewWindow)
B0["font"] = "Arial 15"
B0["bd"]=3
B0["width"]=30
B0["height"]=2
img1 = PhotoImage(file ="C:/Users/wolf_m/Pictures/Hund.PNG")
img2 = PhotoImage(file ="C:/Users/wolf_m/Pictures/Laetus.PNG")
lab4 = Label(root,image = img1)
lab5 = Label(root,image =img2)
B0.pack(side=TOP)
lab4.pack(side=LEFT)
lab5.pack(side=RIGHT)
root.mainloop()