FLET简介:用Python构建Flutter应用

news2024/11/24 16:38:41

你知道可以用 Python 来构建 flutter 应用吗?😮

Flutter 在软件研发领域是非常流行的,今年就让我们深入了解一下,用 Python 构建 flutter 应用程序的世界!🙂

关于 FLET 梦想橡皮擦

在开始学习前,了解一下什么是 FLET?

FLET 可以使开发人员通过 Python,轻松地构建实时 Web、移动和桌面应用程序,更加疯狂的是不需要你有前端经验,也能让你开发出稳定的 Web 应用程序,虽然移动版本还在开发中。

FLET 令人惊叹的功能

  1. 由 Flutter 驱动;
  2. 你可以在几分钟内实现一个 APP;
  3. 简单的软件架构;
  4. 除 Python 外,还将支持其他语言,如 Go、C# 等。

太棒了,对吧??🙂🔥

如何安装 FLET

请使用以下命令安装 FLET。

pip install flet

注意:该命令适用于 Python3.0 以下版本,如果是 Python3.0 以上版本,请使用下述命令。

pip3 install flet

记得将你的 pip 升级到最新版本。

pip install -- upgrade pip

简单介绍 Flutter 🏊‍♀️ 梦想橡皮擦

由 Google 创建的 UI 工具包 Flutter,可以让程序员创建拥有一流界面的应用程序。与 Java 不同,Flutter 使用 Dart 编程,它是一种面向对象的语言,学起来要简单得多。

新的 Flutter 版本(3.4.0-34.1.Pre) ,可以让我们用一套代码构建移动(Android/IOS)、 MacOS、 Web、 Linux 和桌面应用程序。

注意: 当使用多个操作系统时,需要做一些适配调整。

用 FLET 构建简单的应用程序

让我们用 FLET 构建一个简单的应用程序,它具有:

  • 一个文本输入框;
  • 增减两个按钮。

代码片段

首先,我们需要导入 FLET 和计数器程序必不可少的其他功能(例如组件)。

import fletfrom flet import Row, icons, IconButton, TextField, Page;

我们定义了 main 函数,并设置了标题,由于应用程序的基础部分已经准备好,接下来设置一下组件。

要添加一个组件,我们使用 page.add (widget…)

def main(page: Page):
page.title = "Counter App"
page.vertical_alignment = "center"

接下来我们会考虑……

输入框和按钮

page.add(Row([
   IconButton(icons.REMOVE),
   TextField(text_align="center",value="0", width=100)
   IconButton(icons.ADD)
  ],
 alignment="center")
)

下面我们定义了两个处理事件的函数。

//Decrement
def minus(e) :
tf.value = int(tf.value) -1
page.update()//Increment
def plus(e) :
tf.value = int(tf.value) + 1
page.update()

tf 是指我们放入行中的文本输入框对象,接下来,需要使用文本框中的值,并将其包装在变量中,下面是完整代码。

import flet
from flet import Row, icons, IconButton, TextField, Page;

def main(page: Page):
  page.title = "Counter App"
  page.vertical_alignment = "center"
  tf =TextField(text_align="center",value="0", width=100)

#Functions
  def minus(e):
    tf.value = int(tf.value) -1
    page.update()

  def plus(e):
    tf.value = int(tf.value) + 1
    page.update()

#Widgets
  page.add(
    Row([
       IconButton(icons.REMOVE, on_click=minus),
       tf,
       IconButton(icons.ADD, on_click=plus)
    ],
    alignment="center")
)
flet.app(target=main,view=flet.WEB_BROWSER)

最后一步是运行应用程序。

flet.app(target=main)

我们添加了针对 main 函数的命令,要运行应用,请执行下述命令。

python filename.py

请注意,上述命令必须在 Python 文件所在目录执行。

用户界面

在这里插入图片描述
在这里插入图片描述
正如我在简单介绍 Flutter 部分中描述的一样,该程序也可以 Web 浏览器上使用。

为此需要进行小幅调整,添加如下代码即可。

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

你可以从下述地址了解更多关于 FLET 的信息:

https://flet.dev/docs/roadmap

梦想橡皮擦

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/101276.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【图像重建】正则化图像超分辨重建【含Matlab源码 1882期】

⛄一、正则化图像超分辨重建简介 图像超分辨率重建的非局部正则化模型与算法研究 利用图像非局部不连续性测度的概念,建立了面向图像超分辨的非局部正则化能量泛函和相应的变分框架.理论分析了该框架与目前关于双边滤波等一类广义邻域滤波器和经典的变分偏微分方程模型之间的…

[附源码]Nodejs计算机毕业设计焦作旅游网站Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置: Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分…

力扣(LeetCode)168. Excel表列名称(C++)

26进制 本题的数字从 111 开始,即 A1A1A1,Z26Z26Z26 。进制转化是依次提取数字从低到高的每一位,要求每一位从 000 开始 。对当前数字 −1-1−1 ,等于进制最低位 −1-1−1 ,也就是最低位看作 A0A0A0,Z25Z2…

Docker:Nacos的持久化和集群部署

目录 一、MySQL容器构建 二、单节点nacos容器外网部署 三、内网nacos多节点集群部署 四、外网Nginx负载内网nacos节点集群 一、MySQL容器构建 由于我们今天要启动的服务比较多,考虑到部分电脑可能会出现带不动的情况,我们可以先将之前的文件备份一下…

【教程】Anaconda安装

零、Anaconda介绍 Anaconda个人版是一个免费、易于安装的包管理器、环境管理器和Python发行版(所以装了Anaconda就可以不用再另外装Python了),有提供非常多的开源包,用Anaconda来安装这些开源包相对来说方便一些,Anac…

jdk下载与安装教程(win10)

JAVA下载地址:Java Downloads 下载后直接点击安装程序,点击【运行】。 安装过程很简单,一直点击下一步就可以了。 安装完成后配置: 一、右键点击桌面【此电脑】,选择【属性】。 二、选择【高级系统设置】。 三、点击…

Git学习笔记-1.Git基础知识

Git 食用方法 1.简介 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 相信很多同学抄作业写作业的时候多多少少都见过git clone xxx这样的命令,这也算与Git结识的一个奇怪方式? 值得一提的是,Gi…

【树莓派不吃灰】兄弟连篇③ 用户和用户组、权限管理、文件系统管理

目录1、用户和用户组1.1 用户配置文件1.1.1 /etc/passwd1.1.2 /etc/shadow1.1.3 /etc/group、/etc/gshadow1.2 用户管理相关文件1.3 用户管理命令1.3.1 useradd1.3.2 passwd1.3.3 usermod1.3.4 chage1.3.5 userdel1.3.6 su1.4 用户组管理命令2、权限管理2.1 ACL权限2.1.1 ACL权…

华为数字化转型之道 实践篇 第八章 数字化交易:让做生意简单、高效

第八章 数字化交易:让做生意简单、高效 交易流对于大多数To B企业而言都是核心业务流之一。交易流既包括信息流,它即关乎客户的满意度,又直接影响企业经营业绩的好坏。 To C场景的挑战在于简单的事情如何在短时间内做亿万遍。而To B场景与此恰恰相反,交易的数量没那么多,…

go语言并发编程(中)

go语言并发编程中并发安全和锁互斥锁Mutex读写锁信号量&条件变量单例模式&time包方法协程池并发安全和锁 互斥锁Mutex 有时候在Go代码中可能会存在多个goroutine同时操作一个资源(临界区),这种情况会发生竞态问题(数据竞…

夹抱式伸缩货叉料箱多层穿梭车立体库|海格里斯HEGERLS高速穿梭车按需定制

近年来,随着互联网的不断普及,电子商务迅速发展起来,客户订单商品呈现出品种多、批量少、交货期短的特点,使得供货商物流配送中心货架存储密集度不断提升,物料出入库频率越来越高,小件拆零拣选量与日俱增&a…

m基于5G毫米波场景Salen-Valenzula信道建模与matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 随着通信技术的不断发展,现有的通信系统已经无法满足人们各个方面的需求,为了解决这个问题,5G通信技术应运而生。5G技术拥有更高的通信传输速率,更…

如何实现一套优雅的Baas查询语言?

Baas平台内,同一区块链底层接口数据可能会被应用在不同的业务场景下,因此需要进行筛选或者排序等操作。为满足此类需求,通常后端需要开发新的接口或增加新的字段以满足业务诉求。但随着需求业务不断变更,往往不可避免地导致接口的…

Activiti初识

以前 在没有工作流引擎的时候,要实现流程控制,我们需要在数据库中定义表,然后采用状态字段去跟踪流程的变化:比如是否到下一个流程; 然后到下一个角色执行的时候,我们需要判断用户是否具有审批的权限&…

HFSS使用经验

目录 一、如何找到Project工程变量 二、coverlines是什么东西 三、参数建模的第一步 四、让HFSS模型居中的快捷键CtrlD 五、关于介质颜色的修改 六、如何在HFSS中添加变量 七、如何绘制微带线 八、如何绘制带缺口的微带线谐振腔 九、如何设置激励源 十、HFSS如何镜像…

关于一致性问题的简单总结

一、场景引入 在随着人类的发展过程,由于人类是一群人,而非单个人,并相互联系,为了基本的生存或更美好的精神追求,出现了分工协作(单个人无法完成)的概念。人性是具有追求极致、美化的特性&…

【SQL】字符串处理函数

文章目录修复表中的名字left(string, count)substr(string, pos, len)按日期分组销售产品group_concat患某种疾病的患者修复表中的名字 将name的首字母大写,其余字母小写 select user_id, concat(upper(left(name, 1)), lower(substr(name, 2))) as name from User…

【Python机器学习】神经网络中全连接层与线性回归的讲解及实战(Tensorflow、MindSpore平台 附源码)

需要全部代码请点赞关注收藏后评论区留言私信~~~ 全连接层与线性回归 神经网络模型也是参数学习模型,因为对它的学习只是得到神经网络参数的最优值,而神经网络的结构必须事先设计好。如果确实不能通过改进学习过程来达到理想效果,则要重新设…

linux基础学习-用户权限相关命令

用户权限相关命令 用户和权限的基本概念 基本概念 用户是linux系统工作中的重要的一环,用户管理包括 用户 和 组 管理在linux系统下,不论是由本机还是远程登录系统,每个系统都必须有一个账号,并且对于不同的系统资源拥有不同的使用…

银河系中心黑洞的首张照片

说到黑洞,那就不得不提起我们的家园银河系中心的大黑洞,在今天这张照片出来之前,所有关于银河系黑洞的描述都是推测、理论,而今天成为了现实! 2019年,同一团队拍摄了梅西耶87星系(M87&#xff0…