19
社区成员




import flet as ft
import time
def main(page: ft.Page):
page.title = "心形跷跷板动画"
# 创建一个 Stack 控件
stack = ft.Stack()
# 创建两个心形图标,大小缩小一半
heart1 = ft.Icon(ft.icons.FAVORITE, size=50, color=ft.colors.RED) # 原来是100
heart2 = ft.Icon(ft.icons.FAVORITE, size=50, color=ft.colors.RED) # 原来是100
# 设置心形图标的初始位置
heart1.left = 50 # 心1在左侧
heart1.top = 100
heart2.left = 150 # 心2在右侧
heart2.top = 100
# 将心形图标添加到 Stack 控件
stack.controls.append(heart1)
stack.controls.append(heart2)
# 将 Stack 控件添加到页面
page.add(stack)
# 动画循环
while True:
for i in range(20):
heart1.top -= 2 # 心1上升
heart2.top += 2 # 心2下降
page.update()
time.sleep(0.05)
for i in range(20):
heart1.top += 2 # 心1下降
heart2.top -= 2 # 心2上升
page.update()
time.sleep(0.05)
ft.app(target=main)
这个心形跷跷板动画的特色说明如下:
视觉效果:
动态交互:
简单易用:
可定制性:
使用 Stack 控件:
Stack
控件中,利用绝对定位实现灵活布局,展示了 Flet 控件的强大功能。循环动画:
这个动画不仅简单易实现,还能为用户提供愉悦的视觉体验,适合多种场合的使用。