You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Python3中通过for循环添加到Flet页面的指定按钮颜色?

解决Flet按钮点击后变色的问题

你只需要在点击事件处理函数中,通过事件对象获取被点击的按钮,修改其颜色后刷新页面即可。修改后的完整代码如下:

import flet as fl

def main(page: fl.Page):
    def change_color(e):
        # 获取被点击的按钮并修改颜色
        e.control.color = 'red'
        # 刷新页面以显示颜色变化
        page.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)

关键说明:

  • e.control是Flet事件对象自带的属性,它直接指向触发当前事件的控件(也就是你刚点击的那个按钮)
  • 修改控件属性后,必须调用page.update()来通知Flet更新UI,否则颜色变化不会在页面上显示出来

内容的提问来源于stack exchange,提问作者Tommy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 19:17:31