Flet GUI中列表项无法滚动求助(已设置ft.ScrollMode.AUTO)
解决Flet中Column滚轮滚动无效的问题
你的代码存在两个关键问题导致滚动功能不生效:
- 参数传递错误:
Column的scroll参数需要以关键字参数形式传递,你直接将ft.ScrollMode.AUTO放在位置参数的位置,无法被识别为滚动模式配置。 - 缺少高度约束:
Column在无高度限制时会自动拉伸以适配所有内容,不会触发滚动逻辑。需要让它占满Tab的可用空间,或者设置固定高度。
修正后的代码如下:
import flet as ft def main(page: ft.Page): checkboxes_tab = ft.Tab( text="Checkboxes", content=ft.Column( [ ft.Checkbox(label='item1', value=True), ft.Checkbox(label='item2', value=True), ft.Checkbox(label='item3', value=True), ft.Checkbox(label='item4', value=True), ft.Checkbox(label='item5', value=True), ft.Checkbox(label='item6', value=True), ft.Checkbox(label='item7', value=True), ft.Checkbox(label='item8', value=True), ft.Checkbox(label='item9', value=True), ft.Checkbox(label='item10', value=True), ft.Checkbox(label='item11', value=True), ft.Checkbox(label='item12', value=True), ft.Checkbox(label='item13', value=True), ft.Checkbox(label='item14', value=True), ft.Checkbox(label='item15', value=True), ft.Checkbox(label='item16', value=True), ft.Checkbox(label='item17', value=True), ], scroll=ft.ScrollMode.AUTO, # 改为关键字参数传递 expand=True # 让Column占满Tab可用空间,触发滚动 ) ) tabs = ft.Tabs( selected_index=0, tabs=[checkboxes_tab] ) page.add(tabs) ft.app(target=main)
修改说明:
- 将
ft.ScrollMode.AUTO调整为scroll=ft.ScrollMode.AUTO,确保参数被正确识别为滚动模式设置。 - 添加
expand=True,让Column自动填充Tab的全部可用高度,当内容超出高度时会自动触发滚动。如果需要固定高度,也可以替换为height=400这类具体数值,效果一致。
内容的提问来源于stack exchange,提问作者kvn
相关产品推荐
相关产品推荐

