为什么 Expand 在 python flet 中无法按预期工作

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

我为我的待办事项应用程序 ui 编写了一小段代码...但是每当我使用

expand=True
表示
ft.Text
ft.Tabs
时,它最终会将所有视图堆叠在左上角... 我在文档中找不到问题的解决方案。

这是我的代码:

import flet as ft

class App(ft.UserControl):
    def __init__(self, page: ft.Page):
        super().__init__()
        self.page = page
        self.todos_list = []

    def build(self):
        self.todo_input_view = ft.Row(
            spacing=5,
            alignment=ft.MainAxisAlignment.SPACE_BETWEEN,
            controls=[
                ft.TextField(
                    expand=True,
                    hint_text="Todo...",
                    border=ft.InputBorder.UNDERLINE,
                    filled=True
                ),
                ft.IconButton(
                    ft.icons.ADD_TASK_ROUNDED,
                    icon_size=40
                )
            ]
        )
        self.tabs = ft.Tabs(
            expand=True,
            selected_index=0,
            tabs=[
                ft.Tab(
                    text="All",
                    content=self.todos_list
                ),
                ft.Tab(
                    text="Pending",
                    content=self.todos_list
                ),
                ft.Tab(
                    text="Completed",
                    content=self.todos_list
                ),
            ]
        )
        return ft.Column(
            expand=True,
            controls=[
                ft.Text(
                    "Todo App",
                    text_align=ft.TextAlign.CENTER,
                    size=25
                ),
                self.todo_input_view,
                self.tabs,
            ]
        )


class Todo(ft.UserControl):
    def __init__(self, page: ft.Page):
        super().__init__()
        self.page = page


def main(page: ft.Page):
    page.theme_mode = "dark"
    page.title = "Todo App"
    page.window_width = 450
    page.window_height = 600

    page.add(App(page))

ft.app(main)

感谢您的宝贵时间!

python python-3.x expand flet
1个回答
0
投票

尝试在 App 类的

self.expand=True
函数中使用
__init__
,它应该按预期工作。但不要问我为什么。

我遇到了类似的问题并在这里获得了帮助:https://github.com/flet-dev/flet/issues/2565

© www.soinside.com 2019 - 2024. All rights reserved.