Einen Button mit klick selbst zerstören lassen?
Verfasst: Freitag 31. Januar 2020, 17:19
Hallo zusammen,
aktuell sitze ich an meinem ersten eigenständigen Python-Projekt; Hangman.
nun habe ich kleine Buttons für jeden Buchstaben + Umlaute in einer for Schleife. Den Inhalt (also A, B, C,..) und den Namen (hab ich das?) entnehme ich dementsprechend einer Liste.
Nun möchte ich dass sich diese Buttons bei einem Klick selbst zerstören. Ich verstehe leider die ganze Geschichte mit dem self.* nicht ganz..
Mein aktueller Code (das eigentliche Fenster öffnet sich beim Bestätigen des eingegebenen Wortes) ist folgender:
Vielen Dank im Voraus für jegliche Hilfe 
aktuell sitze ich an meinem ersten eigenständigen Python-Projekt; Hangman.
nun habe ich kleine Buttons für jeden Buchstaben + Umlaute in einer for Schleife. Den Inhalt (also A, B, C,..) und den Namen (hab ich das?) entnehme ich dementsprechend einer Liste.
Nun möchte ich dass sich diese Buttons bei einem Klick selbst zerstören. Ich verstehe leider die ganze Geschichte mit dem self.* nicht ganz..
Mein aktueller Code (das eigentliche Fenster öffnet sich beim Bestätigen des eingegebenen Wortes) ist folgender:
Code: Alles auswählen
from tkinter import *
def guess_destroy():
#????????????
print("???????????")
#okay button -> neues fenster mit strichen anstelle von buchstaben
def submit():
#abspeichern des wortes in guess_word
guess_word=entry_word.get()
#game fenster
game_word=entry_word.get()
game = Tk(className="Hangman V1 - The Game")
game.geometry("900x200")
#eingabefeld für versuche
entry_guess=Entry(game)
entry_guess.focus()
entry_guess.place(relx=0.5,rely=0.5,height=30,width=150)
#button um versuch zu bestätigen
button_enter_guess=Button(game,text="Raten!")
button_enter_guess.place(relx=0.5,rely=0.6)
#zählen der anzahl von zeichen des wortes und erstellen der unterstriche
counter_underscore=len(entry_word.get())
label_underscore=Label(game,text="__ "*counter_underscore)
label_underscore.config(font=(75))
label_underscore.place(relx=0.5,rely=0.1)
#suchbuchstaben in einzelne label packen
x_c=10
loop=28
while loop>0:
letters=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","Ä","Ö","Ü","ß"]
for letter in letters:
letter=letter_button=Button(game,text=letter,command=guess_destroy)
letter_button.place(x=x_c,rely=0.8,height=30,width=20)
x_c=x_c+25
loop=loop-1
#rauslöschen von inhalt aus eingabefeld in den settings
entry_word.delete(first=0,last=999)
#settings fenster
root = Tk(className="Hangman V1 - Settings")
root.geometry("500x100")
#schriftzug wort eingeben
label_eingabe=Label(root,text="Gib das zu suchende Wort ein!")
label_eingabe.place(x=10,y=10)
#eingabefeld gesuchtes wort
entry_word=Entry(root)
entry_word.focus()
entry_word.place(x=10,y=40,height=30,width=150)
#okay button mit neuem fenster als verknüpfung
bsubmit=Button(root,text="Okay!",command=submit)
bsubmit.place(x=170,y=40,height=30,width=80)
#quit button
bclose=Button(root,text="Schließen",command=root.destroy)
bclose.place(x=410,y=40,height=30,width=80)
mainloop()
