CupertinoAlertDialog
一种iOS风格的警告对话框。
警告对话框通知用户需要确认的情况。警告对话框可以有一个可选的标题和一个可选的操作列表。标题显示在内容上方,操作显示在内容下方。
此对话框将其标题和内容(通常为消息)的样式设置为与标准iOS标题和消息对话框文本样式相匹配。可以通过显式定义 text_style
属性来覆盖这些默认样式。
要打开此控件,只需调用page.open()
辅助方法。
要显示看起来像标准 iOS 对话框按钮的操作按钮,为提供给此对话框的操作提供CupertinoDialogAction
。
示例
CupertinoAlertDialog 和自适应 AlertDialog 示例
- Python
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
。
modal
如果设置为 True,则无法通过点击其外部区域来关闭对话框。默认值为 False。
open
设置为 True
以显示对话框。
title
对话框的(可选)标题以大字体显示在对话框的顶部。
通常是一个 Text
控件。
事件
on_dismiss
在对话框被关闭时触发。