跳到主要内容

手势检测器

· 阅读需 2 分钟
Feodor Fitsner
Flet 创始人和开发者

我们刚刚发布了支持手势处理的 Flet 0.1.62版本!

这里有一个新的控件 - GestureDetector,它可以处理各种手势:左(主要)和右(次要)鼠标(指针)按钮的单击和双击手势,垂直、水平和双向拖动,缩放(收缩和扩张)手势以及悬停事件。现在,通过将其包装到 GestureDetector 中,您可以使任何 Flet 控件具有"可点击"和"可拖动"的功能!

下面是一个简单的示例,演示了一个应用程序,允许你在 Stack 中拖动容器:

import flet as ft

def main(page: ft.Page):
def on_pan_update(e: ft.DragUpdateEvent):
e.control.top = max(0, e.control.top + e.delta_y)
e.control.left = max(0, e.control.left + e.delta_x)
e.control.update()

gd = ft.GestureDetector(
mouse_cursor=ft.MouseCursor.MOVE,
on_vertical_drag_update=on_pan_update,
left=100,
top=100,
content=ft.Container(bgcolor=ft.colors.BLUE, width=50, height=50, border_radius=5),
)

page.add(ft.Stack([gd], expand=True))

ft.app(target=main)

手势检测器是 Flet 的又一个伟大的补充,它使您能够构建仅受您想象力限制的应用程序。本月晚些时候即将到来的 2D 绘图功能将完善这一功能集合!

这个版本不仅涉及手势,还包含了一些"稳定性"修复。我们修复了一些错误,并添加了一些其他小功能,您可以在这里查看。

升级到最新版本的 Flet 模块(pip install flet --upgrade),将身份验证集成到您的应用程序中,并让我们知道您的想法 (链接)

Enjoy!