Ich schreibe ein Programm, wo der Benutzer eine Auswahl treffen wird basierend auf einem Zielbild. Ich versuche, das Programm dazu zu bringen, die Auswahlschaltflächen zu entfernen, und warte zwei Sekunden nach der Aktualisierung des Zielbilds, bevor die Auswahlmöglichkeiten erneut angezeigt werden. Der Code, den ich habe, scheint die angeklickte Taste für 2 Sekunden zu "deaktivieren", entfernt aber keine der beiden Tasten.Entfernen Sie Schaltflächen für ein paar Sekunden in Python/Tkinter?
from tkinter import *
import random
root = Tk()
root.geometry("500x500")
def click_b(event):
btn_b.pack_forget()
btn_c.pack_forget()
new_a()
root.update()
root.after(2000, show_btns())
def click_c(event):
btn_b.pack_forget()
btn_c.pack_forget()
new_a()
root.update()
root.after(2000, show_btns())
def new_a():
k = random.randrange(1, 3)
if k == 1:
btn_a.configure(image=a1)
elif k == 2:
btn_a.configure(image=a2)
def show_btns():
btn_b.pack(side=LEFT)
btn_c.pack(side=RIGHT)
a1 = PhotoImage(file="A1.gif")
a2 = PhotoImage(file="A2.gif")
orange = PhotoImage(file="orange_btn.gif")
green = PhotoImage(file="yellowgreen_btn.gif")
btn_a = Button(root, image=a1)
btn_a.pack()
btn_b = Button(root, image=orange)
btn_b.bind('<Button-1>', click_b)
btn_b.pack(side=LEFT)
btn_c = Button(root, image=green)
btn_c.bind('<Button-1>', click_c)
btn_c.pack(side=RIGHT)
root.mainloop()
Haben Sie irgendwelche Nachforschungen angestellt? Es gibt viele Fragen auf dieser Seite über das Ausblenden von Widgets, und wahrscheinlich decken die meisten Tkinter-Tutorials das Thema auf die eine oder andere Weise ab. –
Ich habe ausgiebig gesucht. Von allem, was ich gefunden habe, sollte der Code, den ich habe, funktionieren. Keine der gestellten Fragen, die ich gefunden habe, präsentiert die Widgets neu - sie entfernen sie einfach. –
Eigentlich funktioniert das gut für mich ... die Knöpfe verschwinden. – ROAR