Flet v0.23.0 发布公告
我们很高兴地宣布 Flet 0.23.0 的发布。这是一个重大的版本,带来了许多新特性和错误修复。
新控件
新属性
错误处理
PEP 20 (Python 之禅):错误永远不应默默地过去。
一些开发者报告说,在某些情况下,控件可能会在没有明显错误信息的情况下视觉上崩溃。
例如,在问题 #3149 中,@base-13 提到 "在 DataTable 中,如果列数少于任意一行中的数据单元格数,则整个表格将变灰而不抛出错误"。
了解这一点,我们在大多数控件中添加了更多的断言检查,以便当您提供错误的值时,会引发一个 AssertionError,带有明确的错误消息。
如果您发现某些检查仍然缺失,请指出来以便我们解决。
命令行(CLI)输出
flet build
命令的输出已经被美化。
此外,添加了一个新的选项 --show-platform-matrix
,它显示一个包含构建平台矩阵的表格,该表格的标题列为“命令”(可能的构建命令)和“平台”(您应该使用相应命令的设备)。
此外,当目标平台无法在您的设备上构建时,将显示一个包含构建平台矩阵的表格,并带有一个信息性消息。
重大变化
在上述“错误处理”中,我们不得不将一些重要属性标记为必需。
以下属性现在是“必需”的(必须提供和可见)当创建它们的类的实例时:
AnimatedSwitcher.content
Banner.content
,Banner.actions
BottomSheet.content
CupertinoActionSheetAction.content
DataRow.cells
DataTable.columns
DragTarget.content
Draggable.content
ExpansionTile.title
MenuBar.controls
Pagelet.content
RadioGroup.content
SafeArea.content
ShaderMask.shader
WindowDragArea.content
错误修复
以下问题已成功修复:
- #3144:
ScrollbarTheme.thickness
值不被尊重时不与 - #3072:高分辨率视频在 Android TV 设备上播放卡顿。
- #3023:(回归)一些
LineChart
颜色在视觉上不被尊重 - #2989:禁用状态下
Dropdown
的颜色不反映其禁用状态 - #1753:
Markdown
代码块不可选择 - #3097:热重载发生时文件被打开
- #1647:
Container.theme_mode
不被尊重时Container.theme=None
- #3064:
Container.on_tap_down
不被调用时Container.on_click=None
特别感谢活跃的 Flet 社区报告了他们遇到的所有问题。我们将继续努力解决剩余的问题。
废弃
-
所有
Page.window_***
属性现在已废弃,已移动到Page.window
属性,该属性的类型为Window
。 要迁移,请简单地使用window_
替换为window.
,如下所示:# 之前
page.window_height = 200
page.on_window_event = lambda e: print(e.type)
# 现在
page.window.height = 200
page.window.on_event = lambda e: print(e.type) -
SafeArea.minimum
已废弃,已重命名为minimum_padding
-
MaterialState
枚举已废弃,已重命名为ControlState
-
NavigationDestination
已废弃,已重命名为NavigationBarDestination
此外,废弃策略已修改。在 Flet 为 pre-1.0 时,所有废弃都会在下一个 3 个版本后从 API 中删除。 所以在 v0.23.0 中(以及之前版本中)进行的上述废弃,将在 v0.26.0 中删除。
就是这样! :)
升级到 Flet 0.23.0,测试您的应用程序,并让我们知道您对新功能的看法。 如果您有任何问题,请加入 Flet Discord 服务器 或创建一个新的线程 Flet GitHub 讨论