вопрос по tkinter. Нужно чтобы кнопки при последовательных нажатиях меняли состояние, например: первое нажатие включить, второе выключить. Нашел на stack owerflow такой способ: from tkinter import *
root = Tk()
l1 = Label(text = 'Just Label')
def change(a):
if a['text'] == 'Just changed label1':
a['text'] == 'Just changed label2'
else:
a['text'] = 'Just changed label1'
return a
def onClick():
b1.config(command=change(l1))
b1 = Button(text = 'Click me!',command=onClick)
l1.pack()
b1.pack()
root.mainloop()
А есть более изящный способ, например метод какой-нибудь у кнопки, который это делает? 🤔
Если нет страха перед ООП. Можно унаследоваться от Button и спрятать логику внутри класса. Если нужно несколько взаимодействующих между собой виджетов - в tkinter есть виджет-контейнер Frame. От него можно наследоваться и наполнять его простыми виджетами.