【易上手快捷开发新框架技术】nicegui标签组件lable用法庖丁解牛深度解读和示例源代码IDE运行和调试通过截图为证
传奇开心果微博文系列
- 序言
- 一、标签组件lable最基本用法示例
- 1.在网页上显示出 Hello World 的标签示例
- 2. 使用 style 参数改变标签样式示例
- 二、标签组件lable更多用法示例
- 1. 添加按钮动态修改标签文字
- 2. 点击按钮动态改变标签内容、颜色、大小和粗细示例代码
- 3. 添加开关组件动态改变标签内容、颜色、大小和粗细示例代码
- 4. 标签显示输入框组件输入的内容
- 三、标签动画示例
- 1. 标签文字颜色间隔时间变换动画
- 2. 标签文字旋转动画
- 3. 标签位置变化动画
- 4. 标签大小变化动画
- 5. 标签透明度变化动画
- 四、知识点归纳
- 1. 创建一个标签组件通常涉及到实例化 Label 类,并且可以立即设置其初始文本。
- 2. 动态更新文本:
- 3. 样式调整:
- 4. 响应式布局:
- 5. 事件处理:
序言
NiceGUI 中的 Label 组件主要用于显示静态文本信息。其作用是向用户传递明确的描述或提示。
用法通常如下:首先引入 NiceGUI 相关模块,创建应用实例。然后通过特定方法创建 Label 组件,并指定要显示的文本内容。可以设置字体、颜色等样式属性,还能根据布局需求将其放置在合适的位置,以增强界面的可读性和用户体验。您还可以为 Label 组件设置文本对齐方式,如左对齐、右对齐或居中对齐。同时,能够根据界面的交互需求,动态修改 Label 显示的文本内容。例如,当用户执行某个操作后,通过代码实时更新 Label 中的文字,向用户反馈操作结果或当前状态。此外,结合其他组件,如输入框,根据输入框的值来改变 Label 的显示内容,实现数据的关联和交互展示。
一、标签组件lable最基本用法示例
1.在网页上显示出 Hello World 的标签示例
from nicegui import uiui.label('Hello World')ui.run()
运行这段代码,将会在网页上显示出 Hello World 的标签。

2. 使用 style 参数改变标签样式示例
from nicegui import ui
ui.label('Hello World').style('color: red; font-size: 200%; font-weight: 300')
ui.run()

二、标签组件lable更多用法示例
1. 添加按钮动态修改标签文字
from nicegui import ui# 创建标签并设置初始文本
label = ui.label('Hello World').style('color: red; font-size: 200%; font-weight: 300')# 创建一个按钮,当点击时会改变标签的文本
def change_label():label.set_text('Hello NiceGUI!')ui.button('点击我', on_click=change_label)ui.run()


2. 点击按钮动态改变标签内容、颜色、大小和粗细示例代码
在这个示例中,点击按钮后,标签的内容会变为 “Hello CSDN!!” 同时随机改变颜色、字体大小和字体粗细。你可以根据需要添加更多的颜色和样式选项。运行这个代码后,尝试多次点击按钮以查看不同的效果。
from nicegui import ui
import random# 创建标签并设置初始文本、颜色、大小和粗细
label = ui.label('Hello World').style('color: red; font-size: 200%; font-weight: 300')# 定义可选的颜色和字体大小、粗细
colors = ['red', 'blue', 'green', 'orange', 'purple']
font_sizes = ['150%', '200%', '250%']
font_weights = ['100', '300', '400', '700']# 创建一个函数来随机改变标签的内容、颜色、大小和粗细
def change_label():new_text = 'Hello CSDN!!'new_color = random.choice(colors)new_size = random.choice(font_sizes)new_weight = random.choice(font_weights)label.set_text(new_text)label.style(f'color: {new_color}; font-size: {new_size}; font-weight: {new_weight}')ui.button('点击我改变标签', on_click=change_label)ui.run()



3. 添加开关组件动态改变标签内容、颜色、大小和粗细示例代码
在这个示例中,使用 ui.switch 创建了一个开关组件。当开关被打开时,标签的文本、颜色、大小和粗细会随机变化;当开关关闭时,标签会恢复到初始状态。运行这个代码后,你可以通过切换开关来查看标签样式的变化。
from nicegui import ui
import random# 创建标签并设置初始文本、颜色、大小和粗细
label = ui.label('Hello World').style('color: red; font-size: 200%; font-weight: 300')# 定义可选的颜色和字体大小、粗细
colors = ['red', 'blue', 'green', 'orange', 'purple']
font_sizes = ['150%', '200%', '250%']
font_weights = ['100', '300', '400', '700']# 创建一个函数来随机改变标签的内容、颜色、大小和粗细
def change_label(value):if value: # 当开关打开时改变标签样式new_text = 'Hello CSDN!!'new_color = random.choice(colors)new_size = random.choice(font_sizes)new_weight = random.choice(font_weights)label.set_text(new_text)label.style(f'color: {new_color}; font-size: {new_size}; font-weight: {new_weight}')else: # 当开关关闭时重置标签样式label.set_text('Hello World')label.style('color: red; font-size: 200%; font-weight: 300')# 创建开关组件
ui.switch('切换标签样式', on_change=change_label)ui.run()


4. 标签显示输入框组件输入的内容
from nicegui import ui# 创建输入框和标签
input_text = ui.input('请输入内容:')
label = ui.label('')# 创建确定按钮的回调函数
def submit():label.set_text(input_text.value) # 设置标签的文本为输入框的值# 创建确定按钮
ui.button('确定', on_click=submit)# 运行 NiceGUI
ui.run()

三、标签动画示例
1. 标签文字颜色间隔时间变换动画
import random
from nicegui import ui# 创建一个 label 组件,并设置初始文本和样式
label = ui.label('Hello, NiceGUI!').style('font-size: 24px; color: blue;')# 使用 timer 函数创建一个定时器,每隔一段时间(这里是 0.3 秒)更新一次 label 的样式
def update_color():# 定义颜色列表colors = ['red', 'yellow', 'green', 'blue', 'purple', 'black']# 随机选择颜色color = random.choice(colors)# 设置颜色样式label.style(f'color: {color}; transition: color 0.5s ease-in-out')ui.timer(0.3, update_color)ui.run()
解释
创建标签组件:
创建一个标签组件,并设置初始文本为 “Hello, NiceGUI!”,字体大小为 24 像素,颜色为蓝色。
定义颜色更新函数:
定义一个函数 update_color,从预设的颜色列表中随机选择一种颜色,并更新标签的颜色样式。
设置颜色过渡效果,使颜色变化更平滑。
设置定时器:
使用 ui.timer 创建一个定时器,每隔 0.3 秒调用一次 update_color 函数,实现标签颜色的周期性变化。
启动应用:
调用 ui.run() 启动 NiceGUI 应用,使所有组件和逻辑生效。
通过这些步骤,实现了标签颜色每隔 0.3 秒随机变换的效果,并带有平滑过渡动画。


2. 标签文字旋转动画
from nicegui import ui# 创建一个 label 组件,并设置初始文本和样式
label = ui.label('Hello, NiceGUI!').style('''font-size: 24px;color: blue;animation: rotate 2s linear infinite;
''')# 定义 CSS 动画
ui.add_css('''@keyframes rotate {from { transform: rotate(0deg); }to { transform: rotate(360deg); }}
''')ui.run()
解释:
创建标签:使用 ui.label 创建一个标签,并设置初始文本和基本样式。
添加 CSS 样式:通过 .style() 方法为标签添加 CSS 样式,包括字体大小、颜色以及动画属性。
定义 CSS 动画:使用 ui.add_css 添加一个关键帧动画 rotate,使标签从 0 度旋转到 360 度。
启动应用:调用 ui.run() 启动 NiceGUI 应用。
这样就可以看到标签不断旋转的效果了。

3. 标签位置变化动画
from nicegui import ui# 创建一个 label 组件,并设置初始文本和样式
label = ui.label('Hello, NiceGUI!').style('''font-size: 24px;color: blue;animation: moveRight 2s linear infinite;
''')# 定义 CSS 动画
ui.add_css('''@keyframes moveRight {0% { transform: translateX(0); }50% { transform: translateX(100px); }100% { transform: translateX(0); }}
''')ui.run()
解释总结
创建标签并设置初始样式:
创建一个标签组件,并设置初始文本为 “Hello, NiceGUI!”。
设置标签的字体大小为 24px,并且颜色为蓝色。
应用名为 moveRight 的动画,持续时间为 2 秒,线性过渡,无限循环。
定义 CSS 动画:
定义一个关键帧动画 moveRight,使标签在不同时间点水平方向向右移动。
0% { transform: translateX(0); }:初始状态位置不变。
50% { transform: translateX(100px); }:在 50% 时向右移动 100px。
100% { transform: translateX(0); }:最终恢复初始位置。
启动 NiceGUI 应用:
调用 ui.run() 启动 NiceGUI 应用。
这样就可以看到标签每隔 2 秒周期性地水平方向向右移动,并最终回到初始位置。

4. 标签大小变化动画
from nicegui import ui# 创建一个 label 组件,并设置初始文本和样式
label = ui.label('Hello, NiceGUI!').style('''font-size: 24px;color: blue;animation: scale 2s linear infinite;
''')# 定义 CSS 动画
ui.add_css('''@keyframes scale {0% { transform: scale(1); }50% { transform: scale(1.5); }100% { transform: scale(1); }}
''')ui.run()
解释:
创建标签:使用 ui.label 创建一个标签,并设置初始文本和基本样式。
添加 CSS 样式:
animation: scale 2s linear infinite; 应用名为 scale 的动画,持续时间为 2 秒,线性过渡,无限循环。
定义 CSS 动画:使用 ui.add_css 添加一个关键帧动画 scale,使标签在不同时间点进行缩放变化。
0% { transform: scale(1); } 初始状态不缩放。
50% { transform: scale(1.5); } 在 50% 时放大 1.5 倍。
100% { transform: scale(1); } 最终恢复原状。
启动应用:调用 ui.run() 启动 NiceGUI 应用。
这样就可以看到标签在大小上不断变化的效果了。你可以根据需要调整动画的具体参数。

5. 标签透明度变化动画
from nicegui import ui# 创建一个 label 组件,并设置初始文本和样式
label = ui.label('Hello, NiceGUI!').style('''font-size: 24px;color: blue;animation: fade 3s linear infinite;
''')# 定义 CSS 动画
ui.add_css('''@keyframes fade {0% { opacity: 1; }50% { opacity: 0.1; }100% { opacity: 1; }}
''')ui.run()
创建标签并设置初始样式:
创建一个标签组件,并设置初始文本为 “Hello, NiceGUI!”。
设置标签的字体大小为 24px,并且颜色为蓝色。
应用名为 fade 的动画,持续时间为 3 秒,线性过渡,无限循环。
定义 CSS 动画:
定义一个关键帧动画 fade,使标签的透明度在不同时间点变化。
0% { opacity: 1; }:初始状态完全不透明。
50% { opacity: 0.1; }:在 50% 时透明度为 0.1。
100% { opacity: 1; }:最终恢复完全不透明。
启动 NiceGUI 应用:
调用 ui.run() 启动 NiceGUI 应用。
这样就可以看到标签的透明度每隔 3 秒周期性地变化,而颜色保持不变。

四、知识点归纳
以下是一些关于 NiceGUI 中 Label 组件的基本用法知识点:
1. 创建一个标签组件通常涉及到实例化 Label 类,并且可以立即设置其初始文本。
示例代码:
from nicegui import uiui.label('Hello NiceGui')ui.run()
2. 动态更新文本:
标签组件的文本可以通过点击按钮来更新。
示例代码:
from nicegui import ui# 创建标签并设置初始文本
label = ui.label('Hello World').style('color: red; font-size: 200%; font-weight: 300')# 创建一个按钮,当点击时会改变标签的文本
def change_label():label.set_text('Hello NiceGUI!')# 创建按钮并绑定点击事件
ui.button('点击我', on_click=change_label)# 启动 NiceGUI 应用
ui.run()
3. 样式调整:
可以通过设置样式属性来改变标签的外观,如字体大小、颜色等。
示例代码:
from nicegui import ui# 创建标签并设置初始文本和样式
label = ui.label('Hello World')
label.style('color: red; font-size: 200%; font-weight: 300')# 启动 NiceGUI 应用
ui.run()
4. 响应式布局:
标签组件可以被嵌入到不同的布局容器中,例如 Row 或 Column,以实现响应式的布局设计。
示例代码:
from nicegui import ui# 在列布局中添加标签
with ui.column():ui.label('Label in a column')# 在行布局中添加标签
with ui.row():ui.label('Label1 in a row')ui.label('Label2 in a row')# 启动 NiceGUI 应用
ui.run()

5. 事件处理:
尽管标签本身不直接支持事件处理(如点击事件),但可以通过其他方式(例如绑定到按钮或其他交互组件)间接地与标签互动。
from nicegui import ui# 创建一个标签和滑块
with ui.column():label = ui.label('初始值: 0')slider = ui.slider(min=0, max=10, value=0)# 定义一个函数来更新标签
def update_label():label.set_text(f'当前值: {slider.value}')# 绑定滑块变化事件到更新标签的函数
slider.on('change', update_label)# 启动 NiceGUI 应用
ui.run()

相关文章:
【易上手快捷开发新框架技术】nicegui标签组件lable用法庖丁解牛深度解读和示例源代码IDE运行和调试通过截图为证
传奇开心果微博文系列 序言一、标签组件lable最基本用法示例1.在网页上显示出 Hello World 的标签示例2. 使用 style 参数改变标签样式示例 二、标签组件lable更多用法示例1. 添加按钮动态修改标签文字2. 点击按钮动态改变标签内容、颜色、大小和粗细示例代码3. 添加开关组件动…...
从HarmonyOS Next导出手机照片
1)打开DevEco Studio开发工具 2)插入USB数据线,连接手机 3)在DevEco Studio开发工具,通过View -> Tool Windows -> Device File Browser打开管理工具 4)选择storage -> cloud -> 100->fi…...
[Docker学习笔记]Docker的原理Docker常见命令
文章目录 什么是DockerDocker的优势Docker的原理Docker 的安装Docker 的 namespaces Docker的常见命令docker version:查看版本信息docker info 查看docker详细信息我们关注的信息 docker search:镜像搜索docker pull:镜像拉取到本地docker push:推送本地镜像到镜像仓库docker …...
【ESP 保姆级教程】小课设篇 —— 案例:20240507_esp01s+UNO的智能浇水系统
忘记过去,超越自己 ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建记录 2024-09-30 ❤️❤️ 本篇更新记录 2023-09-30 ❤️🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言📝🙏 此博客均由博主单独编写,不存在任何商业团队运营,如发现错误,请…...
如何设置MySQL分布式架构主键ID,为什么不能使用自增ID或者UUID做主键?
MySQL分布式架构主键ID的设置方法 雪花算法(Snowflake) 原理:雪花算法是一种生成分布式唯一ID的算法。它由64位二进制数组成,结构如下:1位符号位(固定为0) 41位时间戳(表示从一个固…...
服务器虚拟化详解
服务器虚拟化详解 服务器虚拟化是一种将物理服务器资源转化为虚拟服务器资源的技术,它允许在一台物理服务器上运行多个虚拟服务器,每个虚拟服务器都拥有独立的操作系统、应用程序和资源配置。这种技术极大地提高了服务器的利用率、灵活性和可扩展性&…...
医疗陪诊APP开发实战:从互联网医院系统源码开始
本文将从互联网医院系统源码出发,深入探讨医疗陪诊APP的开发实战。 一、从互联网医院系统源码入手 开发医疗陪诊APP的基础在于互联网医院系统的源码。互联网医院系统通常包括以下几个模块: 1.用户管理:用户注册、登录、信息管理等功能。 …...
jenkins 构建报错ERROR: Error fetching remote repo ‘origin‘
问题描述 修改项目的仓库地址后,使用jenkins构建报错 Running as SYSTEM Building in workspace /var/jenkins_home/workspace/【测试】客户端/client-fonchain-main The recommended git tool is: NONE using credential 680a5841-cfa5-4d8a-bb38-977f796c26dd&g…...
初识C#(三)- 数组
我有17栋楼,在不同地域,都是不同价格租出去给不同的人~ 文章目录 前言一、数组1.1 我有17栋楼 - 数组的声明1.2 包租公&包租婆 - 数组赋值1.3 每个月都要交租的苦逼租客 - 数组的使用 二、字符串2.1 字符串的使用方法 总结 前言 本篇笔记重点描述C#…...
黑马智数Day3
渲染基础Table列表 封装接口: export function getCardListAPI(params) {return request({url: /parking/card/list,params}) } 具体实现: import { getCardListAPI } from /apis/cardexport default {data() {return {// 请求参数params: {page: 1,pa…...
【Java】再一次踩了整数溢出的坑
【Java】再一次踩了整数溢出的坑 一、起因原题示例 1示例 2提示 我的代码提交结果 二、思考修改后的代码如下 三、知识点1. int m l ((r - l) / 2)解释 2. if (m < x / m)解释 四、结尾 一、起因 我在做【力扣】69.x 的平方根 一题的时候,明明觉得逻辑没问题&…...
Windows开发工具使用技巧大揭秘:让编码效率翻倍的秘籍!
【ACM出版|厦大主办|EI稳定检索】第五届计算机科学与管理科技国际学术会议(ICCSMT 2024)_艾思科蓝_学术一站式服务平台 更多学术会议请看:学术会议-学术交流征稿-学术会议在线-艾思科蓝 目录 引言 1. 快捷键大全:加速你的编码…...
CSS外边距
元素的外边距(margin)是围绕在元素边框以外(不包括边框)的空白区域,这片区域不受 background 属性的影响,始终是透明的。 为元素设置外边距 默认情况下如果不设置外边距属性,HTML 元素就是不会…...
C++ set,multiset与map,multimap的基本使用
1. 序列式容器和关联式容器 string、vector、list、deque、array、forward_list等STL容器统称为序列式容器,因为逻辑结构为线性序列的数据结构,两个位置存储的值之间一般没有紧密的关联关系,比如交换一下,他依旧是序列式容器。顺…...
评估潜力无限:解读自闭症患者的工作能力评估
在星贝育园这片充满爱与希望的土地上,我们不仅见证了无数自闭症儿童在康复训练中的点滴进步,更深刻理解了他们内在潜力的无限可能。自闭症,这一复杂的神经发育障碍,常常让外界对其患者的工作能力产生误解和偏见。然而,…...
js 实现视频封面截图
今天给大家分享一下,如何实现视频封面截取功能,这里主要用到了 HTML5 的 canvas 相关的 api 和 js 相关的一些知识,话不多说,直接上代码: <template><div><div class"margin-tb-sm"><…...
Hadoop FileSystem Shell 常用操作命令
提示:本文章只总结一下常用的哈,详细的命令大家可以移步官方的文档(链接贴在下面了哈🤣)— HDFS官方命令手册链接。 目录 1. cat 命令:查看 HDFS 文件内容2. put 命令:将本地文件上传到 HDFS3.…...
uniapp EChars图表
1. uniapp EChars图表 (1)Apache ECharts 一个基于 JavaScript 的开源可视化图表库 https://echarts.apache.org/examples/zh/index.html (1)官网图例 (2)个人实现图例 1.1. 下载echart 1.1.1. 下…...
最新版ingress-nginx-controller安装 使用host主机模式
最新版ingress-nginx-controller安装 使用host主机模式 文章目录 最新版ingress-nginx-controller安装 使用host主机模式单节点安装方式多节点高可用安装方式 官方参考链接: https://github.com/kubernetes/ingress-nginx/ https://kubernetes.github.io/ingress-ng…...
实习问题(配置文件获取参数)
Java中用SpringBoot框架,当我们要获取配置文件yml里的参数时,用Value注解获取 如果配置文件中没有srvSealUploadPath这个参数的话,可以用Value("${srvSealUploadPath:data/idoc/temp}"),这个的意思是,如果配…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...
大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...
Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...
DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...
UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
基于Java+MySQL实现(GUI)客户管理系统
客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...
