当前位置: 首页 > 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 );
}
http://www.lryc.cn/news/257629.html

相关文章:

  • RE2文本匹配调优实战
  • Java - 线程间的通信方式
  • 【计算机网络】HTTP响应报文Cookie原理
  • 2023年度盘点:智能汽车、自动驾驶、车联网必读书单
  • 一文讲解如何从 Clickhouse 迁移数据至 DolphinDB
  • [足式机器人]Part2 Dr. CAN学习笔记-数学基础Ch0-5Laplace Transform of Convolution卷积的拉普拉斯变换
  • 生产问题: 利用线程Thread预加载数据缓存,其它类全局变量获取缓存偶发加载不到
  • Elasticsearch mapping 之 性能相关配置
  • adb push报错:remote couldn‘t create file: Is a directory
  • GitLab 服务更换了机器,IP 地址或域名没有变化时,可能会出现无法拉取或提交代码的情况。
  • 【华为OD题库-076】执行时长/GPU算力-Java
  • 持续集成交付CICD:Jenkins使用GitLab共享库实现前后端项目Sonarqube
  • Linux文件结构与文件权限
  • CentOS上安装和配置Apache HTTP服务器
  • 前端知识(十二)———ES6迭代器
  • 云端仓库平台
  • php第三方skd自动加载
  • Golang channle(管道)基本介绍、快速入门
  • 盘点六款颇具潜力的伪原创AI工具
  • 基于SSM的健身房预约系统设计与实现
  • postgresql自带指令命令系列二
  • ABAP - Function ALV 02 简单开发一个Function ALV
  • IDEA启动失败报错解决思路
  • 密码学学习笔记(二十三):哈希函数的安全性质:抗碰撞性,抗第一原象性和抗第二原象性
  • STM32-GPIO编程
  • Go语言基础知识学习(一)
  • Vue 3项目的目录结构
  • RPG项目01_技能释放
  • Leetcode—209.长度最小的子数组【中等】
  • Nacos源码解读12——Nacos中长连接的实现