跳到主要内容

CupertinoAlertDialog

一种iOS风格的警告对话框。

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

此对话框将其标题和内容(通常为消息)的样式设置为与标准iOS标题和消息对话框文本样式相匹配。可以通过显式定义 text_style 属性来覆盖这些默认样式。

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

要显示看起来像标准 iOS 对话框按钮的操作按钮,为提供给此对话框的操作提供CupertinoDialogAction

示例

在线示例

CupertinoAlertDialog 和自适应 AlertDialog 示例

import flet as ft


def main(page: ft.Page):
page.horizontal_alignment = ft.CrossAxisAlignment.CENTER
page.scroll = True

def handle_action_click(e):
page.add(ft.Text(f"Action clicked: {e.control.text}"))
# e.control is the clicked action button, e.control.parent is the corresponding parent dialog of the button
page.close(e.control.parent)

cupertino_actions = [
ft.CupertinoDialogAction(
"Yes",
is_destructive_action=True,
on_click=handle_action_click,
),
ft.CupertinoDialogAction(
text="No",
is_default_action=False,
on_click=handle_action_click,
),
]

material_actions = [
ft.TextButton(text="Yes", on_click=handle_action_click),
ft.TextButton(text="No", on_click=handle_action_click),
]

page.add(
ft.FilledButton(
text="Open Material Dialog",
on_click=lambda e: page.open(
ft.AlertDialog(
title=ft.Text("Material Alert Dialog"),
content=ft.Text("Do you want to delete this file?"),
actions=material_actions,
)
),
),
ft.CupertinoFilledButton(
text="Open Cupertino Dialog",
on_click=lambda e: page.open(
ft.CupertinoAlertDialog(
title=ft.Text("Cupertino Alert Dialog"),
content=ft.Text("Do you want to delete this file?"),
actions=cupertino_actions,
)
),
),
ft.FilledButton(
text="Open Adaptive Dialog",
adaptive=True,
on_click=lambda e: page.open(
ft.AlertDialog(
adaptive=True,
title=ft.Text("Adaptive Alert Dialog"),
content=ft.Text("Do you want to delete this file?"),
actions=cupertino_actions if page.platform in [ft.PagePlatform.IOS, ft.PagePlatform.MACOS] else material_actions,
)
),
),
)


ft.app(target=main)

属性

actions

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

通常这是一个 CupertinoDialogAction 控件的列表。

content

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

如果设置为 True,则无法通过点击其外部区域来关闭对话框。默认值为 False。

open

设置为 True 以显示对话框。

title

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

通常是一个 Text 控件。

事件

on_dismiss

在对话框被关闭时触发。