在 Flet Column 上启用滚动可使其控件垂直居中

问题描述 投票:0回答:1

将 Flet 列设置为能够滚动,将其控件居中,就像

alignment=ft.MainAxisAlignment.CENTER
在列中居中控件一样。

有趣的是,这种列居中行为甚至覆盖了我设置的属性

alignment=ft.MainAxisAlignment.START

这是我的应用程序的一部分的简化代码:

import flet as ft

def main(page: ft.Page):

    left_side = ft.Column(
            expand=2,
            scroll=ft.ScrollMode.ALWAYS,
            alignment=ft.MainAxisAlignment.START,
            controls=[
                ft.OutlinedButton(text="scroll=ScrollMode.ALWAYS")
            ]
        )
    right_side= ft.Column(
        expand=2,
        controls=[
            ft.OutlinedButton(text="Non scrollable")
        ]
    )

    main_container = ft.Container(
        height=900,
        content=ft.Row(
            spacing=0,
            controls=[
                left_side,
                ft.VerticalDivider(thickness=3, width=3),
                right_side
            ],
            expand=True
        )
    )

    page.add(main_container)

ft.app(target=main)

这是代码渲染结果的视觉效果

基本上我只是希望左侧看起来像右侧,同时保留滚动属性:]

python flet
1个回答
0
投票
我尝试你的代码并放入

ListView

应该工作得很好

main_container = ft.Container( height=900, content=ft.Row( spacing=0, controls=[ ft.ListView(controls=[left_side], expand=2), # change ft.VerticalDivider(thickness=3, width=3), right_side ], expand=True ) )
    
© www.soinside.com 2019 - 2024. All rights reserved.