当前位置: 首页> 常识>

card是什么意思(Flet 布局控件:ft.Card(卡片))

时间:2025-01-08 12:17:03

一种材料设计卡片:一个带有略微圆角的面板和一个提升阴影。

一、基本用法

Card 组件是一个非常常见的UI元素,用于创建视觉上吸引人的内容区域。

import flet as ft

def main(page: ft.Page):
    page.title = "Flet 卡片示例"
    
    # 创建一个带有内容的卡片
    card = ft.Card(
        content=ft.Container(
            content=ft.Text("这是一个卡片"),
            padding=10,
            width=300,
            height=200,
            bgcolor=ft.colors.AMBER_100,
        ),
        margin=20,
    )
    
    page.add(card)

ft.app(target=main)

二、特别用法

卡片通常用于封装相关的信息或功能。你可以在卡片中嵌套其他组件,如按钮、文本框或图像,以创建复杂且易于管理和样式的UI元素。

import flet as ft

def main(page: ft.Page):
    page.title = "Flet 卡片示例"
    
    card = ft.Card(
        content=ft.Container(
            content=ft.Column(
                [
                    ft.Text("标题"),
                    ft.TextField(label="描述"),
                    ft.ElevatedButton(text="操作", on_click=lambda e: print("按钮被点击了!")),
                ],
                tight=True,
            ),
            padding=10,
            width=300,
            height=200,
            bgcolor=ft.colors.AMBER_100,
        ),
        margin=20,
    )
    
    page.add(card)

ft.app(target=main)

这个示例展示了如何创建一个包含标题、描述文本框和按钮的卡片,所有这些都整齐地封装在一个卡片组件中

三、属性

clip_behavior

内容将根据此选项进行裁剪。请参阅 ClipBehavior 了解可能的值。

默认值为 ClipBehavior.NONE。

color

卡片的背景颜色。

content

要在卡片中显示的控件。

此控件只能有一个子控件。要布局多个子控件,请让此控件的子控件为具有子属性的控件,例如Row、Column或Stack,然后将子控件提供给该控件。

elevation

控制卡片下方阴影的大小。默认值为 1.0。

is_semantic_container

如果此卡片表示单个语义容器,则设置为 True(默认值),如果表示一组单独的语义节点(不同类型的内容),则设置为 False。

margin

卡片周围的空白区域。

margin 属性的值可以是以下类型之一:

  • int
  • float
  • margin.Margin

shadow_color

用于绘制卡片下方阴影的颜色。

shape

卡片的形状。

该值是OutlinedBorder类的实例。

默认形状是 RoundedRectangleBorder(radius=4.0)。

show_border_on_foreground

设置边框的形状是否应绘制在“内容”的前面还是后面。

默认为“True”。

surface_tint_color

用于在 color 上作为覆盖的颜色,以指示海拔高度。

如果为 None,则不会应用覆盖。如果设置了此颜色,它将以与 elevation 相关的不透明度复合在 color 之上,并用于绘制卡片的背景。

默认值为 None。

variant

定义要使用的卡片变体。值的类型为 CardVariant ,默认值为 CardVariant.ELEVATED 。