什么激励从 UserControl 而不是其他一些小部件继承?

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

Flet 文档为您指出的主要方向是在尝试创建自定义小部件/控件时使用 UserControls。 UserControl 本身继承自 Stack,并且还附带一个构建方法,可用于返回类似 Stack 之外的内容。

但如果是这样,为什么不直接继承自容器呢?我使用的代码是这样的:

class ArrowButton(Container):
    def __init__(self, arrow_icon: Icons):
        super().__init__(
            height=100, 
            width=100, 
            bgcolor=Colors.WHITE, 
            border_radius=500,
            content=Icon(
                name=arrow_icon,
                size=100,
                color=Colors.BLACK,
            )
        )

我还可以添加方法来更改状态,所以我不明白为什么我特别需要 UserControl + 它的构建方法。事实上,我有一个不同的项目,我构建了一个自定义选项卡系统(类似于 Web 浏览器),其中所有自定义类(其中 4 个)都继承自 Container,并且整个系统完全按预期工作。

那么是的,什么样的目的/用例需要使用 UserControl 而不是其他一些小部件?我在这里缺少某种特定于 Flutter 的细微差别吗?

python flutter user-controls flet
1个回答
0
投票

你说得完全正确! :) 这实际上就是我们在 v0.21.0 中将其标记为“已弃用”并且很快将在 v0.26.0

中删除的原因

我们还更新了与在 Flet 中创建自定义控件相关的文档部分:https://flet.dev/docs/getting-started/custom-controls

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