跳到主要内容

弹窗菜单按键 PopupMenuButton

一个图标按钮,当点击时显示一个菜单。

示例

Live example

PopupMenuButton

import flet as ft

def main(page: ft.Page):
def check_item_clicked(e):
e.control.checked = not e.control.checked
page.update()

pb = ft.PopupMenuButton(
items=[
ft.PopupMenuItem(text="项目1"),
ft.PopupMenuItem(icon=ft.icons.POWER_INPUT, text="检查电源"),
ft.PopupMenuItem(
content=ft.Row(
[
ft.Icon(ft.icons.HOURGLASS_TOP_OUTLINED),
ft.Text("带有自定义内容的项目"),
]
),
on_click=lambda _: print("按钮的自定义内容已点击!"),
),
ft.PopupMenuItem(), # 分割线
ft.PopupMenuItem(
text="已选中项目", checked=False, on_click=check_item_clicked
),
]
)
page.add(pb)

ft.app(target=main)

PopupMenuButton 属性

content

一个显示在"更多"图标之前的 Control

icon

如果提供了一个图标,则在按钮上绘制该图标。

items

要显示在下拉菜单中的 PopupMenuItem 控件的集合。

PopupMenuButton 事件

on_cancelled

当用户在不选择项目的情况下关闭弹出菜单时调用。

PopupMenuItem 属性

check

如果设置为 TrueFalse,则菜单项会绘制一个选中标记。

icon

菜单项文本标签前的图标。

text

菜单项文本标签。

content

表示菜单项自定义内容的 Control。如果指定,icontext 属性将被忽略。

PopupMenuItem 事件

on_click

当用户点击一个弹出菜单项时调用。