控件和主题增强
在发布 Flet 0.21.0 一个多月后,我们很高兴地宣布发布 Flet 0.22.0。
此版本带来了许多增强、错误修复和弃用功能:
增强功能
这是本次发布的主要关注点之一。我们进行了两种类型的增强:
控件增强
我们遍历了现有控件的长列表,并在可能的情况下公开了更多属性 - PR #2882。这将为您提供更多对 Flet 控件的控制,以便在您的优秀应用程序中使用。
以下是完整列表:
AppBar
: elevation_on_scroll, exclude_header_semantics, force_material_transparency, is_secondary, shadow_color, surface_tint_color, clip_behavior, title_spacing, toolbar_opacity, title_text_style, toolbar_text_style, shapeAlertDialog
: action_button_padding, clip_behavior, icon_padding, shadow_color, surface_tint_colorBanner
: content_text_style, margin, elevation, divider_color, shadow_color, surface_tint_color, on_visibleCupertinoListTile
: leading_size, leading_to_titleCupertinoSegmentedButton
: click_colorCupertinoSwitch
:on_label_color, off_label_colorCupertinoTimerPicker
: item_extentChip
: surface_tint_color, color, click_elevation, clip_behavior, visual_density, border_sideDivider
: leading_indent, trailing_indentExpansionTile
: dense, enable_feedback, visual_densityCard
: clip_behavior, is_semantic_container, show_border_on_foreground, variantCheckbox
: border_side, semantics_label, shape, splash_radius, is_error, visual_density, mouse_cursorCircleAvatar
: on_image_errorDataTable
: clip_behaviorDatePicker
: on_entry_mode_changeDraggable
: on_drag_complete, on_drag_startDragTarget
: on_moveDropdown
: fill_color, hint_content, icon_content, elevation, item_height, max_menu_height, icon_size, enable_feedback, padding, icon_enabled_color, icon_disabled_color, on_clickElevatedButton
: clip_behaviorFloatingActionButton
: clip_behavior, enable_feedback, focus_color, foreground_color, disabled_elevation, elevation, focus_elevation, highlight_elevation, hover_elevation, mouse_cursorGridView
: cache_extent, clip_behavior, semantic_child_countIconButton
: alignment, disabled_color, focus_color, enable_feedback, hover_color, padding, splash_color, splash_radius, focus_color, mouse_cursor, visual_densityImage
: exclude_from_semantics, filter_qualityListTile
: enable_feedback, horizontal_spacing, min_leading_width, min_vertical_padding, selected_color, selected_tile_color, style, title_alignment, icon_color, text_color, shape, visual_density, mouse_cursor, title_text_style, subtitle_text_style, leading_and_trailing_text_styleListView
: cache_extent, clip_behavior, semantic_child_countNavigationBar
: animation_duration, overlay_colorNavigationDrawerDestination
: bgcolorNavigationDestination
: bgcolorNavigationRail
: selected_label_text_style, unselected_label_text_styleNavigationRailDestination
: indicator_color, indicator_shapeOption
: alignment, on_clickOutlinedButton
: clip_behaviorPage
: locale_configurationPopupMenuItem
: height, padding, mouse_cursorPopupMenuButton
: bgcolor, clip_behavior, elevation, enable_feedback, icon_color, shadow_color, surface_tint_color, icon_size, padding, splash_radius, shape, on_open, on_cancelProgressBar
: border_radius, semantics_label, semantics_valueProgressRing
: semantics_label, semantics_value, stroke_cap, stroke_alignRadio
: focus_color, hover_color, overlay_color, splash_radius, toggleable, visual_density, mouse_cursorSearchBar
: keyboard_type, view_surface_tint_color, autofocusSelectionArea
: on_changeSlider
: interaction, overlay_color, mouse_cursor, secondary_track_value, secondary_active_colorStack
: alignment, fitSnackBar
: clip_behavior, shape, on_visible, action_overflow_thresholdSwitch
: hover_color, splash_radius, overlay_color, track_outline_color, mouse_cursorTabs
: divider_height, enable_feedback, indicator_thickness, is_secondary, mouse_cursor, clip_behaviorTextField
: fill_color, hover_colorTimePicker
: orientation, on_entry_mode_changeTooltip
: enable_tap_to_dismiss, exclude_from_semanticsVerticalDivider
: leading_indent, trailing_indent
如果您觉得有些功能缺失且需要添加,请随时告诉我们。
查看我写的关于 Page.locale_configuration
的文章这里。
主题增强
用于应用程序主题设置的 Theme 类在浅色和深色模式下得到了进一步增强。 引入了许多新主题 - PR #2955。
查看主题指南 这里。
Rive 动画
Rive 是一个非常流行的实时交互设计和动画工具。
新引入的 Rive
控件允许您在应用程序中加载和可视化任何 Rive 动画。
动画的来源 (Rive.src
) 可以是本地资源文件或 URL - 如常所述,这完全取决于你的需求。
父控件
根据 #952 的请求,已添加访问任何控件父级的功能:Control.parent
。
阅读更多内容 这里。
错误修复
成功修复了以下问题:
- #2560 - Dropdown.bgcolor 未得到视觉上的尊重
- #2740 - CircleAvatar 无法与本地资产图像一起使用
- #2781 - Linux 上引发了 'FletSocketServer' 错误
- #2826 - PopupMenuItem.data 未得到尊重
- #2839 - ExpansionTile.initially_expanded 无视觉效果
- #2867 - PopupMenuButton 始终显示“显示菜单”工具提示
- 在某些 Python 版本上,您可能会看到 RuntimeError('Event loop is closed'),通常在关闭应用程序窗口时显示。Python-dev 团队最近修复了这一 asyncio 相关的问题,但该修复仅存在于 2024 年发布的版本中。因此,如果您遇到此问题,请下载最新的 Python 版本之一并替换您环境中使用的版本。
特别感谢 Flet 动态社区报告他们遇到的所有问题。我们将继续努力解决剩余的问题。
弃用
如前面在有关 Flet v0.21.0 的 公告 中提到的,所有弃用将在版本 1.0 中完全从 API 中删除 - 因此您有足够的时间来更新您的应用程序。
您无需完全记住哪些内容已弃用,因为我们添加了 DeprecationWarnings,它们将直接显示在您的控制台中(不会破坏您的应用程序)。
PopupMenuButton.on_cancelled
已重命名为on_cancel
CircleAvatar
的foreground_image_url
和background_image_url
属性分别重命名为foreground_image_src
和background_image_src
- 用于
DragTarget.on_accept
中的DragTargetAcceptEvent
已重命名为DragTargetEvent
文档
Flet 文档已重新组织,以便于导航(特别是对于初学者/新用 户)。
升级到 Flet 0.22.0,测试您的应用程序,并告诉我们您对新增功能的看法。 如果您有任何问题,请加入 Flet Discord 服务器 或在 Flet GitHub 讨论 中创建一个新主题。
祝您使用 Flet 愉快!