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

如何在Flet中实现窗口/页面尺寸变化时自动调整控件宽度?

实现Flet中Container随窗口尺寸自动适配的方法

你当前的代码只在初始化时获取了一次页面的宽高,窗口尺寸变化后这些值不会自动更新,所以Container大小不会跟着变。这里有两种简单的解决方法:

方法一:使用expand属性(推荐)

Flet的控件自带expand参数,设置为True后会自动填充父容器的可用空间,无需手动设置宽高:

container = ft.Container(content=ft.Text("this is a container"), expand=True)

添加这个控件到页面后,它会自动占满整个页面,窗口拖动改变尺寸时会实时适配。

方法二:监听页面尺寸变化事件手动更新

如果需要更灵活的控制,可以给页面绑定resize事件监听器,在尺寸变化时手动更新Container的宽高:

def on_page_resize(e):
    # 更新Container的宽高为当前页面的尺寸
    container.width = e.page.width
    container.height = e.page.height
    # 刷新控件
    container.update()

# 初始化Container
container = ft.Container(content=ft.Text("this is a container"), width=page.width, height=page.height)
# 绑定resize事件
page.on_resize = on_page_resize
# 添加控件到页面
page.add(container)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 07:15:57