Python 第三方库:Flet(一套代码构建跨平台桌面与 Web 应用)

Flet 是一个现代跨平台 的 Python UI 框架,允许开发者使用纯 Python 构建 Web 应用、桌面应用(Windows/macOS/Linux)、移动应用(Android/iOS)。它基于 Flutter 渲染引擎,因此具有高性能、现代化 UI、响应式布局等优势,却无需掌握 Dart 或 Flutter,只需写 Python 即可。

Flet 特别适用于快速开发企业内部工具、后台管理界面、实时仪表盘、桌面应用原型等,被认为是“Python 世界的 Flutter”。

安装:

pip install flet

常见应用场景:

(1)跨平台 GUI 开发(无需 Dart)

使用 Python 构建 Windows、macOS、Linux GUI 程序,界面效果与 Flutter 一致。

(2)Web 应用与管理后台

一套代码可直接在浏览器运行,适合制作管理后台、仪表盘、可视化面板。

(3)移动应用原型开发

可部署到移动端(Android / iOS),适合作为快速验证 UI 的工具。

(4)实时应用与仪表盘

内置 WebSocket 支持,适合动态数据更新,如实时监控、业务面板。

(5)企业内部工具

无需前端技术栈,快速做出内部系统界面或小型业务工具。

◆  ◆  ◆

核心概念

1、Flet 应用程序(Page)

Flet 使用 page 对象表示应用页面,包含:

• 主题(light/dark)

• 控件列表

• 路由管理

• 响应式布局

• 事件回调执行环境

例如:

def main(page):    page.title = "Hello Flet"

2、控件(Controls)

类似 Flutter 小部件(Widgets),但用 Python 创建。

常用控件包括:

• Text:文本

• TextField:输入框

• ElevatedButton:按钮

• Row / Column:布局

• Container:容器

• Image:图像

• DataTable:表格

• Dropdown:下拉框

• IconButton:图标按钮

Flet 控件均支持属性绑定与事件处理。

3、事件回调(Events)

控件的事件通过 Python 函数处理,如:

def on_click(e):    print("Clicked!")button.on_click = on_click

支持:

• 点击

• 输入变化

• 列表选择

• 滑块调整

• 路由变化

• 文件上传事件等

4、响应式布局(Responsive Layout)

基于 Flutter 的布局系统,可灵活适配桌面/网页/移动端:

• Row

• Column

• ResponsiveRow

• 自动拉伸、对齐、边距控制

5、热重载(Hot Reload)

开发时可直接热重载 UI,而不必重启应用。

◆  ◆  ◆

应用举例

例 1:最简单的窗口

import flet as ft def main(page: ft.Page):    page.add(ft.Text("Hello, Flet!"))    ft.app(target=main)

例 2:按钮点击事件

import flet as ft def main(page: ft.Page):    def on_click(e):        page.add(ft.Text("按钮被点击"))    page.add(ft.ElevatedButton("点我", on_click=on_click)) ft.app(target=main)

例 3:输入框与响应

import flet as ft def main(page: ft.Page):    name = ft.TextField(label="请输入姓名")      def update_name(e):        page.add(ft.Text(f"你好,{name.value}"))       page.add(name, ft.ElevatedButton("确认", on_click=update_name)) ft.app(target=main)

例 4:布局示例(Row + Column)

import flet as ft def main(page: ft.Page):    page.add(        ft.Row([            ft.Container(ft.Text("左"), width=100,),            ft.Container(ft.Text("右"), width=100,)        ])    ) ft.app(target=main)

例 5:运行 Web 模式

ft.app(target=main, view=ft.WEB_BROWSER)

◆  ◆  ◆

常用函数与类速览

ft.app(target, view=None)

启动 Flet 应用。

参数:

target:主函数,接收 Page 对象。

view:窗口类型(桌面、Web、移动)。

返回: 无。

Page

Flet 应用主页面对象。

常用属性:

title:页面标题

controls:控件列表

route:当前路由

theme_mode:主题模式

常用方法:

add():添加控件

update():刷新页面

go(route):路由跳转

Controls(如 Text、Row、Button)

所有 UI 控件类型。

参数: 文本内容、样式属性、事件回调等。

返回: 控件对象。

Text(value)

显示文本控件。

参数:

value:字符串。

返回: Text 实例。

TextField(label=None)

文本输入框。

参数:

label:标签文字。

返回: TextField 实例。

ElevatedButton(text, on_click=None)

按钮控件。

参数:

text:按钮文字。

on_click:点击事件回调。

返回: ElevatedButton 实例。

Row/Column(controls)

水平或垂直布局。

参数:

controls:控件列表。

返回: 布局对象。

Container(content, padding, bgcolor, expand=False)

容器控件。

参数:

content:子控件。

padding:内边距。

bgcolor:背景色。

expand:自动扩展。

◆  ◆  ◆

补充说明

(1)Flet 底层使用 Flutter 渲染,因此 UI 性能远高于 Tkinter / PySimpleGUI。

(2)Python 层不处理绘图,实际渲染在前端完成,通过 WebSocket 与 Python 交互。

(3)可以打包为桌面应用(Flet CLI 支持打包)。

(4)虽支持移动端,但当前在部署和性能上仍在持续改进中。

(5)适合快速开发与内部工具,但不推荐用于复杂大型前端项目。

📘 小结

Flet 使 Python 开发者能够以极低的学习成本构建现代、跨平台的 GUI 与 Web 应用。凭借 Flutter 的高性能渲染和丰富控件体系,Flet 适合构建内部工具、实时仪表盘、企业管理界面等高交互应用。其简单的事件机制、响应式布局和“纯 Python 无需前端”的开发模式极大降低了应用界面开发难度,是当前 Python 最具潜力的跨平台 UI 框架之一。

图片

“点赞有美意,赞赏是鼓励”

Read more

【全网最全・保姆级】Stable Diffusion WebUI Windows 部署 + 全套报错终极解决方案

大家好,我是在部署 SD WebUI 过程中把几乎所有坑都踩了一遍的选手,从 Git 报错、模块缺失、依赖冲突到虚拟环境异常,全部踩完。今天把完整安装流程 + 我遇到的所有真实错误 + 一行一解全部整理出来,写成一篇能直接发 ZEEKLOG 的完整文章。 一、前言 Stable Diffusion WebUI 是目前 AI 绘画最主流的本地部署工具,但 Windows 环境下因为 Python 版本、虚拟环境、Git 仓库、依赖包、CLIP 编译 等问题,90% 的新手都会启动失败。本文包含: * 标准 Windows 一键部署流程 * 我真实遇到的 10+ 种报错 * 每一种报错的 原因 + 直接复制可用的命令 * 最终测试出图提示词(

AIGC已入侵日常生活,你察觉到了吗?

AIGC已入侵日常生活,你察觉到了吗?

目录 引言:AIGC 掀起生活变革 AIGC 在内容创作领域的应用 写作辅助 图像生成 AIGC 在智能设备中的应用 智能语音助手 智能拍照与图像处理 AIGC 在生活服务中的应用 智能客服 旅行规划 AIGC 应用面临的挑战与思考 内容质量与可靠性 隐私与安全 对就业的影响 总结与展望 引言:AIGC 掀起生活变革 在数字化浪潮汹涌澎湃的当下,AIGC(人工智能生成内容,Artificial Intelligence Generated Content)如同一颗璀璨的新星,照亮了我们生活的每一个角落。它是继 PGC(专业生产内容)、UGC(用户生产内容)之后的又一内容生产新范式,借助机器学习、深度学习等人工智能技术,AIGC 能够自动生成文本、图像、音频、视频等多样化的内容 ,正逐渐渗透到我们生活的方方面面,从日常的信息获取、创意激发,

SakuraLLM三种推理引擎对比:llama.cpp vs vLLM vs Ollama

SakuraLLM三种推理引擎对比:llama.cpp vs vLLM vs Ollama 【免费下载链接】SakuraLLM适配轻小说/Galgame的日中翻译大模型 项目地址: https://gitcode.com/gh_mirrors/sa/SakuraLLM 想要快速部署SakuraLLM轻小说翻译大模型?本文为你详细对比llama.cpp、vLLM和Ollama三种推理引擎的性能差异、使用场景和配置要点,帮助你选择最适合的推理方案。 SakuraLLM是一个专门针对轻小说和Galgame进行优化的日中翻译大模型,支持多种推理引擎。选择合适的推理引擎不仅能提升翻译质量,还能大幅优化资源利用效率。📚 推理引擎概述 SakuraLLM项目提供了三种主流推理引擎支持,分别位于infers/llama.py、infers/vllm.py和infers/ollama.py目录中: * llama.cpp - 轻量级C++推理引擎 * vLLM - 高性能分布式推理库 * Ollama - 便捷的模型管理工具 llama.

Codex,Copilot 是什么

Codex,Copilot 是什么

Codex是什么 Codex 是 OpenAI 研发的一款专注于代码生成的大型语言模型,它可以根据自然语言描述自动编写程序代码,在软件开发、自动化测试等领域展现出了强大的应用潜力。下面为你详细介绍: 1. 核心功能 * 代码生成:Codex 能够依据自然语言指令生成代码,像函数、类或者完整的应用程序都不在话下。它支持多种编程语言,例如 Python、JavaScript、Java、C++ 等。 * 代码补全:和编辑器的自动补全功能类似,但 Codex 更加强大,它可以基于上下文理解开发者的意图,进而补全复杂的代码片段。 * 代码翻译:Codex 可以把一种编程语言编写的代码翻译成另一种语言,大大降低了技术栈迁移的难度。 * 解释代码:它能够将代码转换为自然语言,帮助开发者理解现有项目。 2. 技术原理 * 基于 GPT 架构:Codex 是基于 GPT(Generative Pre-trained Transformer)架构开发的,并且针对代码生成任务进行了优化。