跳到主要内容

AlertDialog

一个材料设计的警告对话框。

警告对话框通知用户需要确认的情况。警告对话框有一个可选的标题和一个可选的操作列表。标题显示在内容上方,操作显示在内容下方。 一个警告对话框会告知用户需要确认的情况。 一个警告对话框有一个可选的标题和一个可选的操作列表。 标题显示在内容上方,操作显示在内容下方。

要打开此控件,只需调用 page.open() 辅助方法。

示例

在线示例

基本和模态对话框

import flet as ft


def main(page: ft.Page):
page.title = "AlertDialog examples"
page.horizontal_alignment = ft.CrossAxisAlignment.CENTER

dlg = ft.AlertDialog(
title=ft.Text("Hi, this is a non-modal dialog!"),
on_dismiss=lambda e: page.add(ft.Text("Non-modal dialog dismissed")),
)

def handle_close(e):
page.close(dlg_modal)
page.add(ft.Text(f"Modal dialog closed with action: {e.control.text}"))

dlg_modal = ft.AlertDialog(
modal=True,
title=ft.Text("Please confirm"),
content=ft.Text("Do you really want to delete all those files?"),
actions=[
ft.TextButton("Yes", on_click=handle_close),
ft.TextButton("No", on_click=handle_close),
],
actions_alignment=ft.MainAxisAlignment.END,
on_dismiss=lambda e: page.add(
ft.Text("Modal dialog dismissed"),
),
)

page.add(
ft.ElevatedButton("Open dialog", on_click=lambda e: page.open(dlg)),
ft.ElevatedButton("Open modal dialog", on_click=lambda e: page.open(dlg_modal)),
)


ft.app(target=main)

属性

actions

在对话框底部显示的(可选)操作集。

通常这是一个 TextButton 控件列表。

action_button_padding

围绕在 actions 中每个按钮的填充。 值的类型为 PaddingValue

actions_alignment

定义操作的水平布局。

值的类型为MainAxisAlignment,默认值为MainAxisAlignment.END

actions_padding

围绕在对话框底部操作集的填充。

通常用于提供按钮栏与对话框边缘之间的填充。

如果没有操作,则不包括任何填充。按钮栏周围的填充默认为零。

值的类型为PaddingValue

adaptive

如果值为 True,则根据目标平台是 iOS/macOS 创建自适应 AlertDialog。

在 iOS 和 macOS 上,创建 CupertinoAlertDialog,它具有与 AlertDialog 匹配的功能和表现,并且具有 iOS 上预期的图形。在其他平台上,创建材料设计 AlertDialog。

查看使用示例 此处

值的类型为 bool ,默认值为 False

bgcolor

对话框表面的背景颜色

clip_behavior

控制对话框内容如何剪裁(或不剪裁)到给定的 shape。 属性值是 ClipBehavior ,默认值为ClipBehavior.NONE

默认为 NONE

content

对话框的(可选)内容显示在对话框的中心,字体较轻。通常这是一个包含对话框Text消息的Column

值为Control类型.

content_padding

内容周围的填充。

如果没有内容,则不会提供填充。否则,内容上方会提供 20 像素的填充以将内容与标题分开,左右和底部会提供 24 像素的填充以将内容与对话框的其他边缘分开。

值的类型为PaddingValue

elevation

定义对话框出现的高度(z 坐标)。 值的类型为OptionalNumber.

icon

一个显示在对话框顶部的控件。通常是一个 Icon 控件。

icon_padding

icon 周围的填充。 值的类型为PaddingValue.

inset_padding

对话框本身周围的填充。

值的类型为 PaddingValue

默认值为 padding.symmetric(vertical=40, horizontal=24) - 对话框外部水平 40 像素,垂直 24 像素。

是否可以通过点击对话框外部区域来关闭对话框。

值的类型为“布尔型”,默认值为“False”。

open

设置为 True 以显示对话框。

semantics_label

对话框的语义标签,由辅助功能框架用于在对话框打开和关闭时宣布屏幕过渡。

在 iOS 中,如果未提供此标签,将从 title 推断出一个语义标签(如果它不为空)。

str类型。

shadow_color

用于在对话框下绘制阴影的颜色,反映对话框的高度。

shape

设置对话框的形状。

类型为 OutlinedBorder ,默认值为 RoundedRectangleBorder(radius=4.0)

默认形状是一个半径为 4.0RoundedRectangleBorder

surface_tint_color

用于在对话框背景色上作为表面色调覆盖的颜色,反映对话框的高度。

title

对话框的(可选)标题,以大字体显示在对话框顶部。

通常是一个 Text 控件。

title_padding

标题周围的填充。

如果没有标题,则不会提供填充。否则,将使用此填充。

值的类型为 PaddingValue

默认在标题的顶部、左侧和右侧提供 24 个像素。如果 content 不为 None,则不提供底部填充(但请参阅 content_padding)。 如果未设置,则会额外添加 20 个像素的底部填充,以将标题与操作分开。

事件

on_dismiss

对话框关闭时触发。