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

Flutter笔记:Widgets Easier组件库(3)使用按钮组件

Flutter笔记
Widgets Easier组件库(3):使用按钮组件

- 文章信息 - Author: 李俊才 (jcLee95)
Visit me at CSDN: https://jclee95.blog.csdn.net
My WebSitehttp://thispage.tech/
Email: 291148484@163.com.
Shenzhen China
Address of this article:https://blog.csdn.net/qq_28550263/article/details/138342814
HuaWei:https://bbs.huaweicloud.com/blogs/426715

组件库地址

  • Pub.Dev:https://pub.dev/packages/widgets_easier
  • GitHub:https://github.com/jacklee1995/widgets_easier
  • 国内访问(更新延迟):https://pub-web.flutter-io.cn/packages/widgets_easier

【介绍】:本文Flutter Widgets Easier组件库中按钮组件的基本用法。

flutter-ljc


上一节:《 Widgets Easier组件库(2)阴影盒子 | 下一节:《 Widgets Easier组件库(4)使用按钮组

注:文本中示例使用的 Gap 组件来源于第三方库gap,Gap(20)就相当于写成 SizedBox(width:20)或者SizedBox(height:20)等生成间隔。不喜欢这个组件的替换为SizedBox即可。


1. 概述

1.1 关于Widgets Easier

本库是一个 Flutter 组件库,旨在提供用于Flutter开发的组件,使得开发者能够更简单地构建出更丰富地界面效果。项目地址为:

  • https://github.com/jacklee1995/widgets_easier

  • https://pub.dev/packages/widgets_easier

1.2 模块安装

在你的Flutter项目中,运行下面的命令:

flutter pub add widgets_easier

即可安装最新版本的 Widgets Easier 库。

2. SemanticButton

SemanticButton 是一个高度可定制的按钮组件,支持多种视觉和交互效果。它允许开发者设置按钮的文本、图标、颜色、边框样式、阴影、以及交互时的视觉反馈。此外,按钮可以配置为带有前缀图标和后缀图标,增加按钮的表达力和功能性。

SemanticButton 的语义枚举应用于按钮,可以获得色彩主题差异化的不同按钮。

例如:

SemanticButton(text: 'primary',type: SemanticEnum.primary,onTap: () {},
),
const Gap(10),
SemanticButton(text: 'secondary',type: SemanticEnum.secondary,onTap: () {},
),
const Gap(10),
SemanticButton(text: 'info',type: SemanticEnum.info,onTap: () {},
),
const Gap(10),
SemanticButton(text: 'success',type: SemanticEnum.success,onTap: () {},
),
const Gap(10),
SemanticButton(text: 'warning',type: SemanticEnum.warning,onTap: () {},
),
const Gap(10),
SemanticButton(text: 'danger',type: SemanticEnum.danger,onTap: () {},
),
const Gap(10),
SemanticButton(text: 'fatal',type: SemanticEnum.fatal,onTap: () {},

在这里插入图片描述

3. 轮廓按钮

3.1 基本用法

SemanticButton默认为普通按钮(非轮廓按钮)。通过设置SemanticButton类的isOutlined属性参数值为true,则按钮将一轮廓形式显示,例如:

SemanticButton(text: 'primary',type: SemanticEnum.primary,isOutlined: true,onTap: () {},
),
const Gap(10),
SemanticButton(text: 'secondary',type: SemanticEnum.secondary,isOutlined: true,onTap: () {},
),
const Gap(10),
SemanticButton(text: 'info',type: SemanticEnum.info,isOutlined: true,onTap: () {},
),
const Gap(10),
SemanticButton(text: 'success',type: SemanticEnum.success,isOutlined: true,onTap: () {},
),
const Gap(10),
SemanticButton(text: 'warning',type: SemanticEnum.warning,isOutlined: true,onTap: () {},
),
const Gap(10),
SemanticButton(text: 'danger',type: SemanticEnum.danger,isOutlined: true,onTap: () {},
),
const Gap(10),
SemanticButton(text: 'fatal',type: SemanticEnum.fatal,isOutlined: true,onTap: () {},
),

在这里插入图片描述

3.2 轮廓类型

除了默认的实线轮廓外,还可以手动指定outlineStyle参数值设置伦托类型以及去轮廓。实线轮廓(OutlineStyle.solide)是默认的,因此这里不再重复给出例子。

3.2.1 Dotted轮廓

Dotted 轮廓由一系列间隔相等的点组成,这些点连接在一起形成物体的边缘。通过指定outlineStyle: OutlineStyle.dotted,可以设置Dotted轮廓。例如:

SemanticButton(text: 'primary',type: SemanticEnum.primary,isOutlined: true,outlineStyle: OutlineStyle.dotted,onTap: () {},
),
const Gap(10),
SemanticButton(text: 'secondary',type: SemanticEnum.secondary,isOutlined: true,outlineStyle: OutlineStyle.dotted,onTap: () {},
),
const Gap(10),
SemanticButton(text: 'info',type: SemanticEnum.info,isOutlined: true,outlineStyle: OutlineStyle.dotted,onTap: () {},
),
const Gap(10),
SemanticButton(text: 'success',type: SemanticEnum.success,isOutlined: true,outlineStyle: OutlineStyle.dotted,onTap: () {},
),
const Gap(10),
SemanticButton(text: 'warning',type: SemanticEnum.warning,isOutlined: true,outlineStyle: OutlineStyle.dotted,onTap: () {},
),
const Gap(10),
SemanticButton(text: 'danger',type: SemanticEnum.danger,isOutlined: true,outlineStyle: OutlineStyle.dotted,onTap: () {},
),
const Gap(10),
SemanticButton(text: 'fatal',type: SemanticEnum.fatal,isOutlined: true,outlineStyle: OutlineStyle.dotted,onTap: () {},
),

在这里插入图片描述

3.2.2 Dashed轮廓

Dashed 轮廓由一系列间隔的虚线组成,这些虚线连接在一起形成物体的边缘。通过指定outlineStyle: OutlineStyle.dashed,可以设置Dashed轮廓。例如:

SemanticButton(text: 'primary',type: SemanticEnum.primary,isOutlined: true,outlineStyle: OutlineStyle.dashed,onTap: () {},
),
const Gap(10),
SemanticButton(text: 'secondary',type: SemanticEnum.secondary,isOutlined: true,outlineStyle: OutlineStyle.dashed,onTap: () {},
),
const Gap(10),
SemanticButton(text: 'info',type: SemanticEnum.info,isOutlined: true,outlineStyle: OutlineStyle.dashed,onTap: () {},
),
const Gap(10),
SemanticButton(text: 'success',type: SemanticEnum.success,isOutlined: true,outlineStyle: OutlineStyle.dashed,onTap: () {},
),
const Gap(10),
SemanticButton(text: 'warning',type: SemanticEnum.warning,isOutlined: true,outlineStyle: OutlineStyle.dashed,onTap: () {},
),
const Gap(10),
SemanticButton(text: 'danger',type: SemanticEnum.danger,isOutlined: true,outlineStyle: OutlineStyle.dashed,onTap: () {},
),
const Gap(10),
SemanticButton(text: 'fatal',type: SemanticEnum.fatal,isOutlined: true,outlineStyle: OutlineStyle.dashed,onTap: () {},
),

在这里插入图片描述

3.2.3 禁用轮廓

通过指定outlineStyle: OutlineStyle.none,可以禁用轮廓。例如:

SemanticButton(text: 'primary',type: SemanticEnum.primary,isOutlined: true,outlineStyle: OutlineStyle.none,onTap: () {},
),
const Gap(10),
SemanticButton(text: 'secondary',type: SemanticEnum.secondary,isOutlined: true,outlineStyle: OutlineStyle.none,onTap: () {},
),
const Gap(10),
SemanticButton(text: 'info',type: SemanticEnum.info,isOutlined: true,outlineStyle: OutlineStyle.none,onTap: () {},
),
const Gap(10),
SemanticButton(text: 'success',type: SemanticEnum.success,isOutlined: true,outlineStyle: OutlineStyle.none,onTap: () {},
),
const Gap(10),
SemanticButton(text: 'warning',type: SemanticEnum.warning,isOutlined: true,outlineStyle: OutlineStyle.none,onTap: () {},
),
const Gap(10),
SemanticButton(text: 'danger',type: SemanticEnum.danger,isOutlined: true,outlineStyle: OutlineStyle.none,onTap: () {},
),
const Gap(10),
SemanticButton(text: 'fatal',type: SemanticEnum.fatal,isOutlined: true,outlineStyle: OutlineStyle.none,onTap: () {},
),

在这里插入图片描述

4. 回调函数与禁用状态

通过设置按钮ontap属性值可以指定一个函数作为按钮点击时间的回调函数。如果没有指定回调函数,或者指定onTap属性的值为null,则按钮状态成为禁用状态。例如:
在这里插入图片描述

对于桌面端或者Web平台,一个被禁用的按钮不仅无法被点击,而且在hover时,不会像正常按钮那样拥有海拔变化。图标上也从寿星图标转换为禁用图标。

5. 文本样式

通过设置fontSize属性,可以指定文本的大小。例如:

SemanticButton(text: 'fontSize: 22',fontSize: 22,onTap: () {},shrink: true,
),

在这里插入图片描述

通过fontWeight属性,可以指定字体粗细程度,例如:

SemanticButton(text: 'normal',fontWeight: FontWeight.normal,onTap: () {},
),
const Gap(10),
SemanticButton(text: 'default',onTap: () {},
),
const Gap(10),
SemanticButton(text: 'FontWeight.w900',onTap: () {},fontWeight: FontWeight.w900,
),

在这里插入图片描述

6. 圆角大小

6.1 通过radius参数指定圆角

SemanticButton的radius参数用于统一指定按钮的四个角的弧度数值。是一个double类型的参数。默认情况下,radius参数值为4。再某些场景中,依据你的需求,可以手动调整按钮的圆角大小。例如:

SemanticButton(text: 'radius: 20',shrink: true,type: SemanticEnum.info,isOutlined: true,onTap: () {},radius: 20,
),
const Gap(20),
SemanticButton(text: 'radius: 0',shrink: true,type: SemanticEnum.warning,isOutlined: true,onTap: () {},radius: 0,
),

在这里插入图片描述

6.2 使用borderRadius属性

SemanticButtonborderRadius更为灵活,也可以用它来指定圆形的边框半径。比如下面的例子展示了两个按钮,分别为他们指定左上角和右下角的圆角形状:

SemanticButton(text: 'topLeft: Radius.circular(20)',borderRadius:const BorderRadius.only(topLeft: Radius.circular(20)),type: SemanticEnum.info,isOutlined: true,onTap: () {},radius: 20,
),
const Gap(20),
SemanticButton(text: 'bottomRight: Radius.circular(20)',borderRadius:const BorderRadius.only(bottomRight: Radius.circular(20)),type: SemanticEnum.warning,isOutlined: true,onTap: () {},radius: 20,
),

在这里插入图片描述

7. 按钮尺寸

7.1 枚举尺寸

通过尺寸枚举,可以使用预设大小。例如:

SemanticButton(text: 'small',size: SizeEnum.small,type: SemanticEnum.info,onTap: () {},
),
const Gap(20),
SemanticButton(text: 'defaultSize',type: SemanticEnum.info,size: SizeEnum.defaultSize,onTap: () {},
),
const Gap(20),
SemanticButton(text: 'large',size: SizeEnum.large,type: SemanticEnum.info,onTap: () {},
),

7.2 数值尺寸

除了尺寸枚举,你还可以通过具体的数值来指定按钮的尺寸,一旦指定数值则枚举尺寸自动失效。一个通过数值指定尺寸的例子如:

SemanticButton(text: 'Size By Button Height: 60',type: SemanticEnum.info,height: 60,shrink: true,onTap: () {},
),

在这里插入图片描述

8. 收缩行为

在 SemanticButton 组件中,shrink 参数用于控制按钮的收缩行为。当 shrink 设置为 true 时,按钮会根据其内容自适应宽度,而不是占据所有可用空间。这在某些情况下很有用,例如当你想要将多个按钮并排放置,并且希望每个按钮的宽度与其内容相匹配时。下面通过例子具体看一下 shrink 参数的作用。

8.1 默认行为(shrink = false)

  1. 当 shrink 设置为 false(默认值)时,按钮将占据其父容器提供的所有可用宽度;
  2. 在这种情况下,按钮的宽度由其父容器的约束决定,而不是由按钮的内容决定;
  3. 按钮内容(文本和图标)将在按钮的可用空间内居中对齐。

假设下面这个按钮在一个Column中,这一行没有其它部件:

SemanticButton(text: 'shrink = false',type: SemanticEnum.primary,onTap: () {},
),

下一节的截图展示效果对比。

8.2 收缩行为(shrink = true)

  1. 当 shrink 设置为 true 时,按钮将根据其内容自适应宽度;
  2. 按钮的宽度将由其内容(文本和图标)的实际宽度决定,而不是占据所有可用空间;
  3. 这意味着按钮将收缩到恰好容纳其内容所需的宽度。

下面是一个shrink = true的例子,假设下面这个按钮在一个Column中,这一行没有其它部件:

SemanticButton(text: 'shrink = true',shrink: true,type: SemanticEnum.primary,onTap: () {},
),

两者的对比如下:

在这里插入图片描述

9. 按钮图标

9.1 前缀图标的使用

SemanticButton 中,可以通过 prefixIcon 属性添加一个前缀图标。这个图标显示在按钮文本的左侧,通常用于增强按钮的语义或者提供视觉提示。例如,一个电话图标可以用在“呼叫”按钮上,以直观地表明按钮的功能。

SemanticButton(text: "Call",onTap: () {},shrink: true,prefixIcon: Icon(Icons.phone),type: SemanticEnum.primary,
)

在这里插入图片描述

在上述代码中,Icon(Icons.phone) 作为 prefixIcon 被传递给 SemanticButton,使得用户可以直观地识别这是一个用于拨打电话的按钮。

9.2 后缀图标的使用

与前缀图标类似,SemanticButton 也支持后缀图标,通过 suffixIcon 属性设置。后缀图标显示在按钮文本的右侧,适用于指示按钮的次要操作或额外的功能,如展开箭头或信息图标。

SemanticButton(text: "Options",onTap: () {},shrink: true,suffixIcon: Icon(Icons.arrow_drop_down),type: SemanticEnum.primary,
)

在这个例子中,Icon(Icons.arrow_drop_down) 被设置为 suffixIcon,表明这个按钮可能会展开更多的选项或菜单。

在这里插入图片描述

不论前缀图标还是后缀图标,类型都是Widget?,这意味着你可以灵活使用组件作为图标。通过这种方式,SemanticButtonprefixIconsuffixIcon 属性为Flutter开发者提供了一种灵活的方法来设计更具表达性和功能性的用户界面。

10. 自定义颜色

10.1 一般色彩

通过按钮的 color 参数可以自定义颜色。color参数具有更高的优先级。如果自定义颜色,则 type 参数带来的颜色效果将消失。下面的例子展示了如何实现 color参数。

SemanticButton(text: 'Colors.amber',shrink: true,color: Colors.amber,onTap: () {},
),
const Gap(40),
SemanticButton(text: 'Colors.amber',shrink: true,color: Colors.amber,isOutlined: true,onTap: () {},

在这里插入图片描述

可见我们仅仅需要指定一个颜色参数,而相关颜色参数是自动计算的,比如背景色、轮廓色等等,这使得我们用起来更加方便。

10.2 渐变色按钮

为了实现更加好看的外观,你还可以通过gradient参数指定按钮渐变色。例如,下面的例子展示了两个渐变色按钮:

SemanticButton(text: 'Gradient',shrink: true,borderRadius: const BorderRadius.only(topLeft: Radius.circular(20),bottomLeft: Radius.circular(20),),gradient: const LinearGradient(colors: [Colors.red,Colors.orange,],),onTap: () => print('Gradient1'),
),
const Gap(1),
SemanticButton(text: 'Gradient',shrink: true,borderRadius: const BorderRadius.only(topRight: Radius.circular(20),bottomRight: Radius.circular(20),),gradient: const LinearGradient(colors: [Colors.orange,Colors.red,],),onTap: () => print('Gradient2'),
),

在这里插入图片描述

F. 报告问题和贡献代码

你可以在这个项目的 GitHub 上提供反馈或报告问题。如果你觉得这个库缺少某个功能,请创建一个功能请求。欢迎提交拉取请求。

相关文章:

Flutter笔记:Widgets Easier组件库(3)使用按钮组件

Flutter笔记 Widgets Easier组件库(3):使用按钮组件 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddre…...

荷香堪筑梦,鸳鸯和月寻。(变相BFS搜索)

本题链接:登录—专业IT笔试面试备考平台_牛客网 题目: 样例: 输入 3 4 2 .... ***. ..a. 输出 yes 思路: 根据题意,这里 1 s 可以移动多次,我们将每次可以移动避开雪的的位置存储起来,判断当…...

智慧公厕建设,打造智慧城市基础设施新亮点

公共厕所是城市基础设施的重要组成部分,而智慧公厕的建设则是现代城市管理的创新之举。为了实现公厕的精细化管理和提供更便捷的服务,推进智慧公厕建设必须要实现技术融合、业务融合、数据融合的目标,跨越层级、地域、系统、部门和业务的限制…...

Kubernetes 教程:在 Containerd 容器中使用 GPU

原文链接:Kubernetes 教程:在 Containerd 容器中使用 GPU 云原生实验室本文介绍了如何在使用 Containerd 作为运行时的 Kubernetes 集群中使用 GPU 资源。https://fuckcloudnative.io/posts/add-nvidia-gpu-support-to-k8s-with-containerd/ 前两天闹得沸沸扬扬的事件不知道…...

LNMP部署wordpress

1.环境准备 总体架构介绍 序号类型名称外网地址内网地址软件02负载均衡服务器lb0110.0.0.5192.168.88.5nginx keepalived03负载均衡服务器lb0210.0.0.6192.168.88.6nginx keepalived04web服务器web0110.0.0.7192.168.88.7nginx05web服务器web0210.0.0.8192.168.88.8nginx06we…...

本地部署大模型ollama+docker+open WebUI/Lobe Chat

文章目录 大模型工具Ollama下载安装运行Spring Ai 代码测试加依赖配置写代码 ollama的web&Desktop搭建部署Open WebUI有两种方式Docker DesktopDocker部署Open WebUIDocker部署Lobe Chat可以配置OpenAI的key也可以配置ollama 大模型的选择 本篇基于windows环境下配置 大模型…...

qt学习篇---界面按键关联(信号和槽)

目录 1.qt基础 2.做一个界面 创建project UI界面设计 信号和槽 1.控件改名字 2.什么是信号和槽 3.怎么关联信号和槽 自动关联 手动关联 1.qt基础 qt可移植性强,不久会用到MCU。很有意义学习 2.做一个界面 创建project 不要中文路径 选择QWidget .pro文件…...

python Django 的内置权限系统或自定义模型来存储更复杂的角色和权限关系

在 Django 中,管理用户权限和角色通常涉及到使用 Django 的内置权限系统或自定义模型来存储更复杂的角色和权限关系。下面是一个基本的指南,说明如何在 Django 中为后台管理系统分配权限并将其保存在数据库中,同时结合 Vue.js 和 Element UI 作为前端框架。 后端(Django)…...

不上班,我靠这5份赚钱副业养活了自己

在这个快节奏的社会里,很多人都在为生活奔波忙碌。今天,就让我来跟大家分享一下我的“躺平”秘籍吧! 这一个月来,我没有上班,但好在有副业养活自己。有时候,我真的觉得有一份自己喜欢的自媒体副业挺好的。…...

强一致性的皇冠:分布式事务模型的至高法则揭秘

关注微信公众号 “程序员小胖” 每日技术干货,第一时间送达! 引言 分布式事务模型是分布式系统设计的核心,关键在于保证数据一致性和事务完整性,尤其强调强一致性。诸如2PC、3PC、Saga、TCC等模型与协议,应运而生以解…...

mac/windows下安装docker,minikube

1、安装docker Get Started | Docker 下载安装docker 就行 启动后,就可以正常操作docker了 使用docker -v 验证是否成功就行 2、安装minikube,是基于docker-desktop的 2.1、点击设置 2.2、选中安装,这个可能需要一点时间 这样安装后&…...

【爬虫】fake_useragent的使用、BeautifulSoup(find()和find_all())

1 fake_useragent 2 BeautifulSoup 3 Beautiful Soup库的find()和find_all() 1 fake_useragent fake_useragent是一个Python库,用于生成随机的用户代理字符串。 用户代理是在HTTP请求中发送给服务器的一种标识,它告诉服务器发送请求的客户端的类型、版本…...

ComfyUI中图像亮度/对比度/饱和度处理

用上面这个节点可以同时设置图片的亮度、对比度和饱和度。 【保姆级教程】一口气分享在ComfyUI中常用的30多种基本图像处理方式 更多好玩且实用AIGC工作流和节点 星球号:32767063 本期资料链接 往期学习资料 整理AI学习资料库...

基于FPGA的DDS波形发生器VHDL代码Quartus仿真

名称:基于FPGA的DDS波形发生器VHDL代码Quartus仿真(文末获取) 软件:Quartus 语言:VHDL 代码功能: DDS波形发生器VHDL 1、可以输出正弦波、方波、三角波 2、可以控制输出波形的频率 DDS波形发生器原理…...

C++语法|可调用对象与function类型

文章目录 引入function的使用function类型的典型应用function类型的原理实现代码优化可变参的函数对象 引入 还记得C语言中的函数指针数组吗&#xff1f; 我们通过函数指针数组实现一个&#xff0c;图书管理系统的界面&#xff1a; #include <stdio.h> void doShowAllB…...

Linux学习之路 -- 文件 -- 文件描述符

前面介绍了与文件相关的各种操作&#xff0c;其中的各个接口都离不开一个整数&#xff0c;那就是文件描述符&#xff0c;本文将介绍文件描述符的一些相关知识。 目录 <1>现象 <2>原理 文件fd的分配规则和利用规则实现重定向 <1>现象 我们可以先通过prin…...

JDK动态代理和Cglib动态代理区别

1.如果目标类实现了接口&#xff0c;将会使用JDK动态代理&#xff0c;否则会使用Cglib动态代理; 2.JDK代理使用自己的字节码生成工具生成代理对象&#xff0c;而Cglib会使用ASM字节码生成工具去生成; 3.JDK动态代理是通过反射的方式去实现代理对象的所有方法&#xff0c;通过…...

牛客 | 字符金字塔

请打印输出一个字符金字塔&#xff0c;字符金字塔的特征请参考样例 #include <stdio.h> #include <string.h> using namespace std; int main() {char c;scanf("%c", &c);for (int i 1; i < (c - 64); i)//第一个循环决定了有多少行{//c:67 第三…...

【计算机科学速成课】笔记三——操作系统

文章目录 18.操作系统问题引出——批处理设备驱动程序多任务处理虚拟内存内存保护Unix 18.操作系统 问题引出—— Computers in the 1940s and early 50s ran one program at a time. 1940,1950 年代的电脑&#xff0c;每次只能运行一个程序 A programmer would write one at…...

用js代码实现贪吃蛇小游戏

js已经学了大部分了&#xff0c;现在就利用我所学的js知识试试做贪吃蛇小游戏吧 以下部分相关图片以及思路笔记均出自渡一陈老师的视频 首先制作简单的静态页面&#xff0c;添加贪吃蛇移动的背景和相关图片&#xff0c;比如开始游戏等等 将各个功能均封装在函数中&#xff0…...

微信小程序+esp8266温湿度读取

本文主要使用微信小程序显示ESP8266读取的温湿度并通过微信小程序控制LED灯。小程序界面如下图所示 原理讲解 esp8266 通过mqtt发布消息,微信小程序通过mqtt 订阅消息,小程序订阅后,就可以实时收到esp8266 传输来的消息。 个人可免费注册五个微信小程序账号,在微信小程序官…...

软考中级-软件设计师(十)网络与信息安全基础知识

一、网络概述 1.1计算机网络的概念 计算机网络的发展&#xff1a;具有通信功能的单机系统->具有通信功能的多机系统->以共享资源为目的的计算机网络->以局域网及因特网为支撑环境的分布式计算机系统 计算机网络的功能&#xff1a;数据通信、资源共享、负载均衡、高…...

推荐一个好用的命令行工具ShellGPT

ShellGPT 配置安装常用功能聊天写命令并执行 高级功能函数调用角色管理 总结 这两天突然想到&#xff0c;现有的很多工具都在被大模型重构&#xff0c;比如诞生了像perplexity.ai 这种新交互形式的搜索引擎&#xff0c;就连wps也推出了AI服务&#xff0c;甚至都可以直接生成ppt…...

Prompt提示词教程 | 提示工程指南 | 提示词示例 入门篇

在上一节中&#xff0c;我们介绍并给出了如何赋能大语言模型的基本示例。如果还没看而且是刚入门的同学建议看下&#xff0c;有个基本概念。 Prompt提示词教程 | 提示工程指南 | 提示工程简介https://blog.csdn.net/HRG520JN/article/details/138523705在本节中&#xff0c;我…...

uniapp + uView动态表单校验

项目需求&#xff1a;动态循环表单&#xff0c;并实现动态表单校验 页面&#xff1a; <u--form label-position"top" :model"tmForm" ref"tmForm" label-width"0px" :rulesrules><div v-for"(element, index) in tmForm…...

【Linux】HTTPS

欢迎来到Cefler的博客&#x1f601; &#x1f54c;博客主页&#xff1a;折纸花满衣 &#x1f3e0;个人专栏&#xff1a;Linux 目录 &#x1f449;&#x1f3fb;HTTPS协议概念&#x1f449;&#x1f3fb;加密为什么要进行加密 &#x1f449;&#x1f3fb;常见的加密方式对称加密…...

语音识别--使用YAMNet识别环境音

⚠申明&#xff1a; 未经许可&#xff0c;禁止以任何形式转载&#xff0c;若要引用&#xff0c;请标注链接地址。 全文共计3077字&#xff0c;阅读大概需要3分钟 &#x1f308;更多学习内容&#xff0c; 欢迎&#x1f44f;关注&#x1f440;【文末】我的个人微信公众号&#xf…...

前端JS必用工具【js-tool-big-box】,邮箱,手机,身份证号,ip地址等正则验证方法学习

这一小节&#xff0c;我们针对前端npm包 js-tool-big-box 的使用做一些讲解&#xff0c;主要是针对项目中&#xff0c;邮箱&#xff0c;手机号&#xff0c;身份证号&#xff0c;ip地址&#xff0c;url格式&#xff0c;邮政编码等验证的方法使用。 目录 1 安装和引入 2 邮箱验…...

notepad++安装 hex-editor插件

打开notepad 点击插件 搜索 hex-editor,点击右侧 安装install 安装成功后&#xff0c;在已安装插件中就有显示了...

Ubuntu18.04设置SSH密钥登录

我们一般使用 VSCode 、MobaXterm、PuTTY等 SSH 客户端来远程管理 Linux 服务器。但是&#xff0c;一般的密码方式登录&#xff0c;容易有密码被暴力破解的问题。所以&#xff0c;一般我们会将 SSH 的端口设置为默认的 22 以外的端口&#xff0c;或者禁用 root 账户登录。但是即…...

自动化运维管理工具----------Ansible模块详细解读

目录 一、自动化运维工具有哪些&#xff1f; 1.1Chef 1.2puppet 1.3Saltstack 二、Ansible介绍 2.1Ansible简介 2.2Ansible特点 2.3Ansible工作原理及流程 2.3.1内部流程 2.3.2外部流程 三、Ansible部署 3.1环境准备 3.2管理端安装 ansible 3.3Ansible相关文件 …...

零基础代码随想录【Day27】|| 39. 组合总和,40.组合总和II, 131.分割回文串

目录 DAY27 39. 组合总和 解题思路&代码 40.组合总和II 解题思路&代码 131.分割回文串 解题思路&代码 DAY27 39. 组合总和 力扣题目链接(opens new window) 给定一个无重复元素的数组 candidates 和一个目标数 target &#xff0c;找出 candidates 中所有…...

实验15 MVC

二、实验项目内容&#xff08;实验题目&#xff09; 编写代码&#xff0c;掌握MVC的用法。 三、源代码以及执行结果截图&#xff1a; inputMenu.jsp&#xff1a; <% page contentType"text/html" %> <% page pageEncoding "utf-8" %> &…...

《Python编程从入门到实践》day21

# 昨日知识点回顾 设置背景颜色 在屏幕中央绘制飞船 # 今日知识点学习 12.5 重构&#xff1a;方法_check_events()和_update_screen() 12.5.1 方法_check_events() import sys import pygame from Settings import Settings from Ship import Shipclass AlienInvasion:"…...

上位机图像处理和嵌入式模块部署(树莓派4b镜像烧录经验总结)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 陆陆续续也烧录了好多次树莓派的镜像了&#xff0c;这里面有的时候很快&#xff0c;有的时候很慢。特别是烧录慢的时候&#xff0c;也不知道是自己…...

简单数据加解密,JS和JAVA同时实现

前端Vue调用Java后端接口中的数据进行加密&#xff0c;以避免敏感数据泄露。 现在实现一个高性能加密方法&#xff0c;用来对数据进行加密后传输。算法包括JS的加密和解密方法&#xff0c;也包括Java的加密解密方法。 可以在前端加密&#xff0c;后端解密。也可以在后端加密&…...

Android Framework中PackageManagerService的深度剖析

摘要 Android操作系统的核心服务之一——PackageManagerService(PMS)&#xff0c;扮演着至关重要的角色&#xff0c;负责维护系统中所有应用程序的生命周期管理。本文旨在全面探讨PMS的功能特性、工作流程、实际应用场景&#xff0c;并对其进行优劣分析&#xff0c;以期为开发者…...

(AI Web、ChatGPT Native、Ai Loading、AI Tools、知豆AI)

目录 1、AI Web 2、ChatGPT Native 3、Ai Loading 4、AI Tools 5、知豆AI 1、AI Web...

VBA 批量处理Excel文件

目录 一. 批量创建Excel文件1.1 VBA的方式1.2 Powershell方式 二. 批量删除文件三. 批量重命名文件四. 合并多个Excel数据到一个Excel文件中 一. 批量创建Excel文件 1.1 VBA的方式 Sub CreateFiles()Dim strPath As String, strFileName As StringDim i As Long, rDim pathSe…...

PG实例连接访问控制

实例访问控制可以控制来自于不同主机&#xff0c;不同用户是否允许访问指定的数据库&#xff0c;以及验证方式。 与oracle中的连接管理器的功能相同&#xff0c;之前有写过一篇oracleCMAN连接管理器的配置实操&#xff1a; 配置oracle连接管理器&#xff08;cman&#xff09;…...

2024-05-07 商业分析-如何在社会层面做一个更好的工具人-记录

摘要: 2024-05-07 商业分析-如何成为一个靠谱的工具人 如何在社会层面做一个更好的工具人 那么今天讲的这个主题呢&#xff0c;对吧&#xff1f;你们一看啊&#xff0c;就觉得这个就不应该我讲是吧啊&#xff0c;但是呢这个逻辑呢我还得跟你们讲一下啊&#xff0c;就是如何成为…...

C++设计模式-创建型设计模式

设计模式 设计模式是什么 设计模式是指在软件开发中&#xff0c;经过验证的&#xff0c;用于解决在特定环境下&#xff0c;重复出现的&#xff0c;特定问题的解决方案&#xff1b;其实就是解决问题的固定套路。但是要慎用设计模式&#xff0c;有一定的工程代码量之后用它比较…...

code-server容器webpack的ws无法连接解决方法

TLDR 通过指定client的wsrul去连接ws devServer.client.webSocketURL ‘wss://<Forwarded uri>/ws’ 拓扑 1、code-server: 用于编写代码、启动webpack dev-server 服务&#xff1b;[https://<domain>:8001] 2、webpack: 用于浏览dev-server服务&#xff1b;[ht…...

leetcode47-Permutations II

分析 给定一个可包含重复数字的序列 nums &#xff0c;按任意顺序 返回所有不重复的全排列。 示例 1&#xff1a; 输入&#xff1a;nums [1,1,2] 输出&#xff1a; [[1,1,2], [1,2,1], [2,1,1]] 题目 由于元素是重复的&#xff0c;要求返回不重复的&#xff0c;所以一定会有…...

246 基于matlab的交流电机动态方程

基于matlab的交流电机动态方程&#xff0c;用于交流电机动态分析。输入电机的额定功率(kW)、电机的额定转速(r/min)、转子外径(m)、铁心长(m)转子槽数、电机极对数 等参数&#xff0c;输出转速变化、力矩变化等结果。程序已调通&#xff0c;可直接运行。 246 交流电机动态 转速…...

7天入门Android开发之第2天——四大组件之活动

一、活动是什么 活动&#xff08;Activity&#xff09;是 Android 应用程序中的一个重要组件&#xff0c;它代表用户界面上的单个窗口&#xff0c;通常会填充整个屏幕。通过活动&#xff0c;可以创建各种各样的用户界面&#xff0c;并控制界面的行为。活动可以包含各种 UI 元素…...

自然语言(NLP)

It’s time for us to learn how to analyse natural language documents, using Natural Language Processing (NLP). We’ll be focusing on the Hugging Face ecosystem, especially the Transformers library, and the vast collection of pretrained NLP models. Our proj…...

学习java第六十天

Advice的类型&#xff1a; &#xff08;1&#xff09;前置通知&#xff08;Before Advice&#xff09;&#xff1a;在连接点&#xff08;Join point&#xff09;之前执行的通知。 &#xff08;2&#xff09;后置通知&#xff08;After Advice&#xff09;&#xff1a;当连接点退…...

OpenFeign修改HttpClient为Apache HttpClient 5

OpenFeign中http client 如果不做特殊配置&#xff0c;OpenFeign默认使用JDK自带的HttpURLConnection发送HTTP请求&#xff0c; 由于默认HttpURLConnection没有连接池、性能和效率比较低。所以修改为Apache HttpClient 5。 总结为两步&#xff1a; 加依赖改yml 具体操作请往…...

【busybox记录】【shell指令】comm

目录 内容来源&#xff1a; 【GUN】【comm】指令介绍 【busybox】【comm】指令介绍 【linux】【comm】指令介绍 使用示例&#xff1a; 逐行比较两个排序后的文件 - 默认输出 逐行比较两个排序后的文件 - 如果一个文件的排序有问题&#xff0c;那么反错&#xff08;默认&…...