Я пытаюсь создать функцию, в которой, если я нажму «1», мое изображение изменится, но если я снова нажму 1, изображение вернется в исходное состояние. Этот процесс должен go продолжаться бесконечно.
Я могу сделать это, если пользователь нажимает кнопку. Например, в приведенном ниже коде просто используется конфигурация для изменения функции, которая должна запускаться каждый раз при нажатии кнопки.
# run this "thing" each time seat is activated
def activate(name):
name.config(image=active)
name.config(command=lambda: deactivate(name))
# run this "thing" each time seat is deactivated
def deactivate(name):
name.config(image=deactive)
name.config(command=lambda: activate(name))
x = Button(root, image=deactive, command=lambda: thing(x))
Но я не смогу добиться того же, если вместо этого привяжу ключ:
from tkinter import *
# window config
root = Tk()
root.title("Example - on / off")
root.geometry("1080x600")
# on and off images
inactive = PhotoImage(file='green.png')
active = PhotoImage(file='red.png')
# functions to change the image using config
def something(event):
my_label.config(image=active)
def something2():
my_label.config(image=inactive)
# label which stores the image
my_label = Label(root, image=inactive)
my_label.pack()
# invisible button bind to key "1"
my_button = Button(root)
my_button.bind_all(1, something)
my_button.pack()
root.mainloop()
Я приветствовал бы любые мысли по этому поводу или указание, если я подхожу к этому совершенно неправильно.
Спасибо