如何在Python3-Flet脚本中实现点击按钮后移除该按钮?
实现Flet按钮点击后自我移除的解决方案
要实现点击按钮时移除它自己,核心是要能引用到这个按钮控件,这里有两种简单可行的实现方式:
方法一:提前保存按钮实例
先把按钮赋值给变量,在移除函数里直接调用page.remove()方法删除它:
import flet as fl def main(page: fl.Page): def remove(e): page.remove(btn) # 移除目标按钮 page.update() # 更新页面状态 btn = fl.ElevatedButton('REMOVE ME', on_click=remove) page.add(btn) page.update() fl.app(target=main)
方法二:通过事件对象获取当前按钮
不需要提前保存变量,直接用e.control拿到触发点击事件的按钮,再从父容器中移除它:
import flet as fl def main(page: fl.Page): def remove(e): e.control.parent.remove(e.control) # 从父容器中移除当前按钮 page.update() # 更新页面状态 page.add(fl.ElevatedButton('REMOVE ME', on_click=remove)) page.update() fl.app(target=main)
两种方法都能达成需求,第一种逻辑更直观,第二种适合动态批量创建控件的场景。
内容的提问来源于stack exchange,提问作者Tommy
相关产品推荐
相关产品推荐

