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

LVGL——按钮部件

目录

一、组成部分

二、按钮部件操作

1、创建

2、设置样式

3、添加事件

4、代码例程 

三、按钮部件案例


一、组成部分

主体(LV_PART_MAIN

二、按钮部件操作

1、创建

lv_obj_t   *btn  = lv_btn_create( parent );

2、设置样式

lv_obj_set_size( btn, 100, 50 );								    /* 大小 */	
lv_obj_set_align( btn, LV_ALIGN_CENTER );						    /* 对齐 */
lv_obj_set_style_bg_color( btn, lv_color_hex(0xffe1d4), LV_STATE_PRESSED );     /* 背景颜色 */

3、添加事件

lv_obj_add_flag( btn, LV_OBJ_FLAG_CHECKABLE );					     /* 开启状态切换 */
lv_obj_add_event_cb( btn, event_cb, LV_EVENT_VALUE_CHANGED,NULL );	    /* 添加事件 */

4、代码例程 

static void event_cb(lv_event_t *e)
{lv_event_code_t code = lv_event_get_code(e);if(code == LV_EVENT_VALUE_CHANGED){printf("ok");}
}void my_gui(void)
{lv_obj_t  *btn  = lv_btn_create(lv_scr_act());lv_obj_set_size(btn,50,25);lv_obj_set_align(btn,LV_ALIGN_CENTER);lv_obj_set_style_bg_color(btn,lv_color_hex(0xde4d3e),LV_STATE_PRESSED);lv_obj_add_flag(btn,LV_OBJ_FLAG_CHECKABLE);lv_obj_add_event_cb(btn,event_cb,LV_EVENT_VALUE_CHANGED,NULL );
}

三、按钮部件案例

#include "mygui.h"
#include "lvgl.h"
#include <stdio.h>
static lv_obj_t *btn;static void event_cb(lv_event_t *e)
{lv_obj_t *target = lv_event_get_target(e);      /* 获取触发源 */if(target == btn)                      /* 加速按钮 */{printf("okok");}}void my_gui(void)
{btn  = lv_btn_create(lv_scr_act());lv_obj_set_size(btn,50,25);lv_obj_set_align(btn,LV_ALIGN_CENTER);lv_obj_set_style_bg_color(btn,lv_color_hex(0xde4d3e),LV_STATE_PRESSED);lv_obj_add_event_cb(btn,event_cb,LV_EVENT_CLICKED,NULL );
}

相关文章:

LVGL——按钮部件

目录 一、组成部分 二、按钮部件操作 1、创建 2、设置样式 3、添加事件 4、代码例程 三、按钮部件案例 一、组成部分 主体&#xff08;LV_PART_MAIN&#xff09; 二、按钮部件操作 1、创建 lv_obj_t *btn lv_btn_create( parent );2、设置样式 lv_obj_set_siz…...

RE2文本匹配调优实战

引言 在RE2文本匹配实战的最后&#xff0c;博主说过会结合词向量以及其他技巧来对效果进行调优&#xff0c;本篇文章对整个过程进行详细记录。其他文本匹配系列实战后续也会进行类似的调优&#xff0c;方法是一样的&#xff0c;不再赘述。 本文所用到的词向量可以在Gensim训练…...

Java - 线程间的通信方式

线程通信的方式 线程中通信是指多个线程之间通过某种机制进行协调和交互 线程通信主要可以分为三种方式&#xff0c;分别为共享内存、消息传递和管道流。每种方式有不同的方法来实现 共享内存&#xff1a;线程之间共享程序的公共状态&#xff0c;线程之间通过读-写内存中的公…...

【计算机网络】HTTP响应报文Cookie原理

目录 HTTP响应报文格式 一. 状态行 状态码与状态码描述 二. 响应头 Cookie原理 一. 前因 二. Cookie的状态管理 结束语 HTTP响应报文格式 HTTP响应报文分为四部分 状态行&#xff1a;包含三部分&#xff1a;协议版本&#xff0c;状态码&#xff0c;状态码描述响应头&a…...

2023年度盘点:智能汽车、自动驾驶、车联网必读书单

【文末送书】今天推荐几本自动驾驶领域优质书籍 前言 2023年&#xff0c;智能驾驶和新能源汽车行业仍然有着肉眼可见的新进展。自动驾驶技术继续尝试从辅助驾驶向自动驾驶的过渡&#xff0c;更重要的是相关技术成本的下降。根据《全球电动汽车展望2023》等行业报告&#xff0c…...

一文讲解如何从 Clickhouse 迁移数据至 DolphinDB

ClickHouse 是 Yandex 公司于2016年开源的 OLAP 列式数据库管理系统&#xff0c;主要用于 WEB 流量分析。凭借面向列式存储、支持数据压缩、完备的 DBMS 功能、多核心并行处理的特点&#xff0c;ClickHouse 被广泛应用于广告流量、移动分析、网站分析等领域。 DolphinDB 是一款…...

[足式机器人]Part2 Dr. CAN学习笔记-数学基础Ch0-5Laplace Transform of Convolution卷积的拉普拉斯变换

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记-数学基础Ch0-5Laplace Transform of Convolution卷积的拉普拉斯变换 Laplace Transform : X ( s ) L [ x ( t ) ] ∫ 0 ∞ x ( t ) e − s t d t X\left( s \right) \mathcal{L} \left[ x\lef…...

生产问题: 利用线程Thread预加载数据缓存,其它类全局变量获取缓存偶发加载不到

生产问题: 利用线程Thread预加载数据缓存偶发加载不到 先上代码 public class ThreadTest {//本地缓存Map<String, Object> map new HashMap<String, Object>();class ThreadA implements Runnable{Overridepublic void run() {System.out.println("Thread…...

Elasticsearch mapping 之 性能相关配置

ES 常见类型 通用类型: 二进制: binary 布尔型: boolean 字符串: keyword, constant_keyword, wildcard, text 别名: alias 对象: object, flattened, nested, join 结构化数据类型: Range, ip, version, murmur3 空间数据类型: geo_point, geo_shape, point, shape 性…...

adb push报错:remote couldn‘t create file: Is a directory

adb push报错&#xff1a;remote couldn‘t create file: Is a directory 出现这个问题可能是电脑本地目录中包含中文或者是目录地址中多包含了一个/ 比如说以下两种路径 1. test/测试音频文件1/a.mp3 2.test/test_audio/ 这两种都是不可以的&#xff08;我是在as中执行的…...

GitLab 服务更换了机器,IP 地址或域名没有变化时,可能会出现无法拉取或提交代码的情况。

当 GitLab 服务更换了机器&#xff0c;但 IP 地址或域名没有变化时&#xff0c;可能会出现无法拉取或提交代码的情况。 这可能是由于 SSH 密钥或 SSL 证书发生了变化。以下是一些可能的解决步骤&#xff1a; 这可能是由于 SSH 密钥或 SSL 证书发生了变化。以下是一些可能的解决…...

【华为OD题库-076】执行时长/GPU算力-Java

题目 为了充分发挥GPU算力&#xff0c;需要尽可能多的将任务交给GPU执行&#xff0c;现在有一个任务数组&#xff0c;数组元素表示在这1秒内新增的任务个数且每秒都有新增任务。 假设GPU最多一次执行n个任务&#xff0c;一次执行耗时1秒&#xff0c;在保证GPU不空闲情况下&…...

持续集成交付CICD:Jenkins使用GitLab共享库实现前后端项目Sonarqube

目录 一、实验 1.Jenkins使用GitLab共享库实现后端项目Sonarqube 2.优化GitLab共享库 3.Jenkins使用GitLab共享库实现前端项目Sonarqube 4.Jenkins通过插件方式进行优化 二、问题 1.sonar-scanner 未找到命令 2.npm 未找到命令 一、实验 1.Jenkins使用GitLab共享库实现…...

Linux文件结构与文件权限

基于centos了解Linux文件结构 了解一下文件类型 Linux采用的一切皆文件的思想&#xff0c;将硬件设备、软件等所有数据信息都以文件的形式呈现在用户面前&#xff0c;这就使得我们对计算机的管理更加方便。所以本篇文章会对Linux操作系统的文件结构和文件权限进行讲解。 首先…...

CentOS上安装和配置Apache HTTP服务器

在CentOS系统上安装和配置Apache HTTP服务器可以为您的网站提供可靠的托管环境。Apache是开源的Web服务器软件&#xff0c;具有广泛的支持和强大的功能。下面是在CentOS上安装和配置Apache HTTP服务器的步骤&#xff1a; 步骤一&#xff1a;安装Apache HTTP服务器 打开终端&am…...

前端知识(十二)———ES6迭代器

ES6中的迭代器是一种新的对象&#xff0c;它具有一个next()方法。next()方法返回一个对象&#xff0c;这个对象包含两个属性&#xff1a;value和done。value属性是迭代器中的下一个值&#xff0c;done属性是一个布尔值&#xff0c;表示迭代器是否已经遍历完所有的值。迭代器是一…...

云端仓库平台

SpringBoot MySQL Vue 等技术实现的云端仓库 技术栈 核心框架&#xff1a;SpringBoot 持久层框架&#xff1a;MyBatis-Plus 前端框架&#xff1a;Vue 数据库&#xff1a;MySQL 项目包含源码和数据库文件。 效果图如下&#xff1a;...

php第三方skd自动加载

把mugou-sdk复制到项目下在composer.josn找到classmap加入sdk "autoload": {"classmap": ["mugou-sdk"] },在composer.josn找到files加入sdk "autoload": {"files":[mugou-sdk] },项目目录下运行 composer dump-autoload…...

Golang channle(管道)基本介绍、快速入门

channel(管道)-基本介绍 为什么需要channel&#xff1f;前面使用全局变量加锁同步来解决goroutine的通讯&#xff0c;但不完美 1)主线程在等待所有goroutine全部完成的时间很难确定&#xff0c;我们这里设置10秒&#xff0c;仅仅是估算。 2)如果主线程休眠时间长了&#xff0c…...

盘点六款颇具潜力的伪原创AI工具

写作作为信息传递的主要媒介&#xff0c;在庞大的信息海洋中&#xff0c;为了在激烈的竞争中脱颖而出&#xff0c;伪原创AI工具成为越来越多写手的神秘利器。在本文中&#xff0c;我们将深入盘点六款颇具潜力的伪原创AI工具&#xff0c;为你揭开它们神秘的面纱。 1. 文心一言 …...

真正的爱是接受对方本来的样子

武志红说&#xff1a;爱是如TA所是&#xff0c;而非如你所愿。真正的爱是接受对方本来的样子&#xff0c;而不是把对方改造成你想要的样子。爱是如TA所是意味着&#xff1a;你爱的是这个人本身&#xff0c;而不是你想象中的TA。你不需要改变对方来满足你的期望。你接受TA的优点…...

GitHub中文界面转换指南:3步打造专属中文GitHub环境

GitHub中文界面转换指南&#xff1a;3步打造专属中文GitHub环境 【免费下载链接】github-chinese GitHub 汉化插件&#xff0c;GitHub 中文化界面。 (GitHub Translation To Chinese) 项目地址: https://gitcode.com/gh_mirrors/gi/github-chinese 当我们第一次接触GitH…...

UE5场景漫游跳转避坑指南:从UI交互到资源预热

1. 这不是“做个UI跳个关卡”那么简单&#xff1a;UE5场景漫游的起点陷阱 很多人拿到“UE5场景漫游——开始界面及关卡跳转”这个需求&#xff0c;第一反应是&#xff1a;“不就是加个UMG按钮&#xff0c;绑个OpenLevel节点&#xff1f;”我去年带三个实习生做文旅数字孪生项目…...

2026年最佳手机阅读器推荐:付费也值得的精品选择

在数字时代&#xff0c;阅读方式正在发生深刻变革。随着电子书、在线文章和多媒体内容的兴起&#xff0c;人们越来越倾向于通过智能手机进行阅读。然而&#xff0c;并非所有的阅读器都能提供优质的阅读体验。今天&#xff0c;我们将聚焦于一款即便付费也绝对物超所值的手机阅读…...

5分钟快速生成专业README文件:readme-md-generator完全指南

5分钟快速生成专业README文件&#xff1a;readme-md-generator完全指南 【免费下载链接】readme-md-generator &#x1f4c4; CLI that generates beautiful README.md files 项目地址: https://gitcode.com/gh_mirrors/re/readme-md-generator 在开源项目开发中&#x…...

鸿蒙备考题库页面构建:今日计划与题目预览模块的详细解析

鸿蒙备考题库页面构建&#xff1a;今日计划与题目预览模块的详细解析 前言 在 HarmonyOS 6.0 应用开发中&#xff0c;在线教育类页面的学习计划展示和题目练习模块是用户停留时间最长的核心区域。本文将以“备考题库”应用中的“今日学习计划”任务列表和“题目预览”答题卡片为…...

机器视觉开发-使用YOLO8预训练模型检测目标

在计算机视觉领域&#xff0c;目标检测是一项基础而重要的任务。今天&#xff0c;我将介绍如何使用Ultralytics的YOLOv8库&#xff0c;仅用一行代码就能实现强大的目标检测功能。YOLOv8简介YOLO&#xff08;You Only Look Once&#xff09;是一种流行的实时目标检测算法&#x…...

SMARTFORM不同模板一起打印

一、背景由于客户提出发货单要加上条形码打印&#xff0c;条形码单独一个模板&#xff0c;加在后面打印&#xff0c;输出PDF并发送邮件。二、效果展示不同模板一起打印效果如下&#xff0c;建立smartforms的表单时&#xff0c;也使用了两个不同的模板三、smartforms建立表单&am…...

为什么你的双色调总像PPT?揭秘Midjourney v6中未公开的--tint权重衰减算法与Gamma校准阈值

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;双色调视觉失真的本质归因 双色调视觉失真并非单纯由显示设备或图像压缩引发的表层现象&#xff0c;其根本源于人眼视锥细胞响应函数与数字色彩空间映射之间的结构性不匹配。当图像被强制量化为仅含两种色调&a…...

卡梅德生物技术快报|噬菌体随机肽库筛选实战:花生过敏原 Ara h 5 模拟表位鉴定全流程

摘要本文面向生物研发、体外诊断、蛋白质工程开发者&#xff0c;系统讲解噬菌体随机肽库筛选过敏原模拟表位完整工程化流程&#xff1a;从问题分析、实验设计、关键参数到结果验证&#xff0c;提供可复现技术方案&#xff0c;基于真实研究数据&#xff0c;聚焦高可靠性表位筛选…...