Tkinter Button funktioniert nicht und Canvas Delete funktioniert nicht Bitte Hilfe?
Sehr geehrte Python und Tkinter Fans,
ich habe 2 Probleme. Und zwar ich möchte das wenn ein Knopf gedrückt wird 2 weitere Knöpfe am display erscheinen die man drücken kann. Ein Knopf z.B. "Ja" und der andere Knopf "Nein". Aber sie funktionieren nicht. Und wie kann ich es machen falls auf Nein gedrückt wird, dass dann die Buttons wieder verschwinden?
Mein Code:
def yes_option():
root.destroy()
def close_root(event):
assistant_lady_canvas =canvas.create_image(400, 540, image=assistant_lady, anchor=tk.NW)
assistant_text = canvas.create_text(1400, 500, text="Möchten sie, das Spiel beenden?", fill="black", font=("Courier", 20, "bold"))
canvas.create_image(0, 0, image="", anchor=tk.NW)
#root.destroy()
def close_root_destroy():
canvas.delete(assistant_lady_canvas)
canvas.delete(assistant_text)
canvas.update()
root.destroy()
yes_button = canvas.create_image(1280, 600, image=yes)
canvas.tag_bind(yes_button, "<Button-1>", yes_option)
no_button = canvas.create_image(1520, 600, image=no)
canvas.tag_bind(no_button, "<Button-1>", close_root_destroy)
Error:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\nicol\AppData\Local\Programs\Python\Python310\lib\tkinter\__init__.py", line 1921, in __call__
return self.func(*args)
TypeError: yes_option() takes 0 positional arguments but 1 was given
Vielen Dank im Vorraus!
1 Antwort
TypeError: yes_option() takes 0 positional arguments but 1 was given
Ich denke da wird automatisch ein event als Argument übergeben. Deine yes_option-Funktion nimmt aber keine Argumente an.
Versuch mal
def yes_option(event):
anstatt
def yes_option():
Habs hinbekommen! Es hat auch nur das (event) gefehlt. Vielen Dank!
Es funktioniert danke! Wüsstest du vielleicht wie man diese Buttons beim Nein drücken wieder entfernen kann, das Funktioniert nicht.