Page
Page 是 View
控件的容器。
当新的用户会话开始时,会自动创建一个页面实例和根视图。
属性
auto_scroll
如果应自动将滚动条位置移动到末端时为 True
。必须为 False
以使 scroll_to()
方法起作用。
appbar
在页面顶部显示的 AppBar
控件。
banner
在页面顶部显示的 Banner
控件。
bgcolor
页面的背景颜色。
颜色值可以是 #ARGB
格式(例如 #FFCC0000
)、#RGB
格式(例如 #CC0000
)的十六进制值,或者是 flet.colors
模块中的命名颜色。
bottom_appbar
在页面底部显示的 BottomAppBar
控件。如果同时提供了 bottom_appbar
和 navigation_bar
属性,则会显示 NavigationBar
。
bottom_sheet
显示的 BottomSheet
控件。
client_ip
🌎 仅限 Web。连接用户的 IP 地址。
client_user_agent
🌎 仅限 Web。连接用户的浏览器详情。
controls
要在页面上显示的控件列表。
例如,添加一个新控件到页面:
- Python
page.controls.append(ft.Text("Hello!"))
page.update()
或使用 page.add()
快捷方法获得与上述相同的结果:
- Python
page.add(ft.Text("Hello!"))
移除页面顶部的控件:
- Python
page.controls.pop()
page.update()
dark_theme
在深色主题模式下自定义应用程序的主题。
值是 Theme()
类的一个实例 - 更多信息请参见 theming 指南。
debug
如果 Flet 应用的 Flutter 客户端在调试模式下运行,则为 True
。
design
保留供将来使用。
dialog
显示的 AlertDialog
控件。
drawer
作为从页面起始边缘滑出的面板显示的 NavigationDrawer
控件。
end_drawer
作为从页面结束边缘滑出的面板显示的 NavigationDrawer
控件。
floating_action_button
显示在页面内容顶部的 FloatingActionButton
控件。
floating_action_button_location
定义 FloatingActionButton
的位置。
属性值是 FloatingActionButtonLocation
枚举。默认值为 END_FLOAT
。
fonts
允许导入自定义字体,并在 Text.font_family
中使用,或通过 theme.font_family
应用于整个应用程序。
Flet 支持以下字体格式:
.ttc
.ttf
.otf
fonts
属性的值是一个字典,其中键是引用该字体的字体系列名称,值是要导入的字体文件的 URL。
字体可以通过提供绝对 URL 从外部资源导入,或通过提供相对 URL 和 assets_dir
从应用程序资源导入。
在 flet.app()
调用中指定 assets_dir
以设置应用程序可用的资源位置。assets_dir
可以是相对于 main.py
目录的相对路径或绝对路径。例如,考虑以下程序结构:
/assets
/fonts
/OpenSans-Regular.ttf
main.py
现在,以下程序从 GitHub 加载 "Kanit" 字体,从资源中加载 "Open Sans"。将 "Kanit" 设置为默认应用程序字体,并为特定的 Text 控件使用 "Open Sans":
import flet as ft
def main(page: ft.Page):
page.fonts = {
"Kanit": "https://raw.githubusercontent.com/google/fonts/master/ofl/kanit/Kanit-Bold.ttf",
"Open Sans": "/fonts/OpenSans-Regular.ttf"
}
page.theme = Theme(font_family="Kanit")
page.add(
ft.Text("This is rendered with Kanit font"),
ft.Text("This is Open Sans font example", font_family="Open Sans")
)
ft.app(target=main, assets_dir="assets")
目前仅支持静态字体,即仅包含一种特定宽度/重量/样式组合的字体,例如 "Open Sans Regular" 或 "Roboto Bold Italic"。
但是,如果您需要在应用中使用可变字体,可以使用 fonttools 创建特定权重的静态“实例化”字体,然后使用这些字体:
fonttools varLib.mutator ./YourVariableFont-VF.ttf wght=140 wdth=85
使用 Wakamai Fondue 在线工具探索可用的字体特性(例如 wght
的可能选项)。