У меня есть простой скрипт Python3, в котором я добавляю 5 зеленых кнопок Flet с помощью цикла for:
import flet as fl
def main(page:fl.Page):
def change_color(e):
# what for changing color to specific button?
print('color changed')
column=fl.Column(controls=[fl.ElevatedButton(n,color='green',on_click=change_color) for n in range(5)])
page.add(column)
fl.app(target=main)
Я хотел бы изменить цвет кнопки, которую я только что нажал, на красный
Я наконец понял:
import flet as fl
def main(page:fl.Page):
def change_color(e):
e.control.color='red'
e.control.update()
column=fl.Column(controls=[fl.ElevatedButton(n,color='green',on_click=change_color) for n in range(5)])
page.add(column)
fl.app(target=main)
Если только нажата кнопка, она должна иметь красный цвет:
# what for changing color to specific button?
for n in range(5):
e.control.parent.controls[n].color = 'green'
e.control.color = 'red'
page.update()
#or
#e.control.parent.update()