如何让Python Flet DataTable始终显示水平和垂直滚动条
解决Flet中DataTable水平滚动条仅在底部显示的问题
修改后的代码
import flet as ft def main(page: ft.Page): column_items = [ft.DataColumn(ft.Text(f"Column {i+1}")) for i in range(36)] cell_items = [ft.DataCell(ft.Text(f"Cell {i+1}")) for i in range(len(column_items))] row_items = [ft.DataRow(cells=cell_items) for _ in range(50)] data_table = ft.DataTable(columns=column_items, rows=row_items) page.horizontal_alignment = ft.CrossAxisAlignment.CENTER page.vertical_alignment = ft.MainAxisAlignment.CENTER page.add( ft.Container( height=500, width=700, content=ft.Column( scroll=ft.ScrollMode.ALWAYS, controls=[ ft.Row( expand=True, scroll=ft.ScrollMode.ALWAYS, controls=[data_table], ) ], ), ) ) ft.app(target=main)
关键修改说明
- 给Row添加
expand=True:让Row填充Column的全部可用高度,使Row的水平滚动条固定在容器底部,不会随Column的垂直滚动被移出可视区域。 - 将Row的滚动模式改为
ALWAYS:强制水平滚动条始终显示,不再依赖滚动位置触发。 - 保持Column的
scroll=ft.ScrollMode.ALWAYS:确保垂直滚动条始终可见,满足垂直方向的滚动需求。
修改后,容器的水平和垂直滚动条会始终显示,且滚动行为互不干扰,可通过两个滚动条完整浏览表格内容。
内容的提问来源于stack exchange,提问作者eljamba
相关产品推荐
相关产品推荐

