当前位置: 首页 > news >正文

【传奇开心果系列】Flet纵向瀑布流本地图片布局排列自定义模板

一、效果GIF动图
在这里插入图片描述

二、特色说明

  1. 本地图片展示:该应用从本地文件夹中读取图片,并在界面上以瀑布流的形式展示。

  2. 多列布局:通过计算每列的图片数量,将图片均匀分布在多列中,形成瀑布流效果。

  3. 响应式设计:使用 ft.Row 和 ft.Column 控件,确保布局在不同屏幕尺寸下都能良好显示。

  4. 自动滚动:使用 ft.Column 控件的 scroll 属性,当内容超出容器高度时,自动启用垂直滚动条。

  5. 图片适应:使用 ft.ImageFit.COVER 属性,确保图片在固定宽度下保持比例并填充整个控件区域。

三、代码结构

  1. 导入模块:

flet:用于创建用户界面。
os:用于处理文件路径。

  1. 设置页面标题:

page.title = “本地图片瀑布流”:设置页面的标题。

  1. 获取图片文件列表:

image_folder = “images”:指定图片文件夹路径。
images = [os.path.join(image_folder, f"{i}.jpg") for i in range(1, 10)]:生成图片文件路径列表。

  1. 计算每列的图片数量:

num_columns = 3:设置列数。
num_images_per_column = len(images) // num_columns:计算每列的图片数量。

  1. 创建图片控件列表:

遍历每列,计算每列的起始和结束索引。
使用 ft.Image 控件创建每张图片的显示控件。
将每列的图片控件添加到 ft.Column 中。

  1. 水平排列列:

使用 ft.Row 控件将所有列水平排列。

  1. 添加垂直滚动条:

使用 ft.Column 控件包裹 ft.Row,并启用垂直滚动条。

  1. 添加到页面:

将包含滚动条的 ft.Column 添加到页面中。

  1. 运行应用:

ft.app(target=main):启动应用。
四、源码下载地址
https://download.csdn.net/download/jackchuanqi/91528409

http://www.dtcms.com/a/302324.html

相关文章:

  • 【硬件】LVGL
  • 15-C语言:第15天笔记
  • keepalived原理及实战部署
  • 【数据库】时序数据库选型指南:从大数据视角看IoTDB的核心优势
  • 张 LLama 多语言语义相似度计算全解析:不同语言 同义词的相似度计算
  • idea启动java应用报错
  • idea编译报错 java: 非法字符: ‘\ufeff‘ 解决方案
  • OSPF笔记
  • 实验-静态路由
  • 解决windows系统下 idea、CLion 控制台中文乱码问题
  • 应急响应处置案例(上)
  • python-并发编程
  • 移动高清盒子6PRO-河南创维E900V22D-晶晨S905L3B-4+16G-安卓9-线刷固件包
  • 提取excel中的年月日
  • uniapp_微信小程序_根据胶囊按钮计算出的导航栏高度为什么不是44px?
  • 多光谱相机助力第四次全国农业普查-农业用地调查
  • Deepseek + browser-use 轻松实现浏览器自动化
  • 关于大视频大文件诸如超过5个G或10个G的视频上传详解原理以及-5种语言实现-优雅草卓伊凡|深蓝
  • 【7.26-7.28胜算云AI日报:首个开源3D世界生成模型腾讯混元、微软预示 8 月 GPT-5 发布、Nemotron推理、商汤悟能、DM夺金】
  • UniappDay04
  • 开源B端生态掘金:从Odoo二次开发到行业专属模块的技术变现
  • 【uniapp】---- 使用 uniapp 实现视频和图片上传且都可以预览展示
  • NVMe高速传输之摆脱XDMA设计20:PCIe请求模块设计(上)
  • 【mysql慢查询】
  • “太赫兹”
  • Java学习-----如何创建线程
  • 【科普】STM32CubeMX是配置工具,STM32CubeIDE是集成开发环境,二者互补但定位不同,前者负责初始化配置,后者专注代码开发调试。
  • DDD领域驱动中瘦模型与富态模型的核心区别
  • 设计模式(二十四)行为型:访问者模式详解
  • PostgreSQL日志配置全解析:从基础设置到进阶策略