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

LVGL -------矩阵3

在这里插入图片描述

static void event_cb(lv_event_t * e)
{
lv_obj_t * obj = lv_event_get_target(e);
uint32_t id = lv_btnmatrix_get_selected_btn(obj);
bool prev = id == 0 ? true : false;
bool next = id == 6 ? true : false;
if(prev || next) {
/Find the checked button/
uint32_t i;
for(i = 1; i < 7; i++) {
if(lv_btnmatrix_has_btn_ctrl(obj, i, LV_BTNMATRIX_CTRL_CHECKED)) break;
}

    if(prev && i > 1) i--;
    else if(next && i < 5) i++;

    lv_btnmatrix_set_btn_ctrl(obj, i, LV_BTNMATRIX_CTRL_CHECKED);
}

}

/**

  • Make a button group (pagination)
    */
    void lv_example_btnmatrix_3(void)
    {
    static lv_style_t style_bg;
    lv_style_init(&style_bg);
    lv_style_set_pad_all(&style_bg, 0);
    lv_style_set_pad_gap(&style_bg, 0);
    lv_style_set_clip_corner(&style_bg, true);
    lv_style_set_radius(&style_bg, LV_RADIUS_CIRCLE);
    lv_style_set_border_width(&style_bg, 0);

    static lv_style_t style_btn;
    lv_style_init(&style_btn);
    lv_style_set_radius(&style_btn, 0);
    lv_style_set_border_width(&style_btn, 1);
    lv_style_set_border_opa(&style_btn, LV_OPA_50);
    lv_style_set_border_color(&style_btn, lv_palette_main(LV_PALETTE_GREY));
    lv_style_set_border_side(&style_btn, LV_BORDER_SIDE_INTERNAL);
    lv_style_set_radius(&style_btn, 0);

    static const char * map[] = {LV_SYMBOL_LEFT, “1”, “2”, “3”, “4”, “5”, LV_SYMBOL_RIGHT, “”};

    lv_obj_t * btnm = lv_btnmatrix_create(lv_scr_act());
    lv_btnmatrix_set_map(btnm, map);
    lv_obj_add_style(btnm, &style_bg, 0);
    lv_obj_add_style(btnm, &style_btn, LV_PART_ITEMS);
    lv_obj_add_event_cb(btnm, event_cb, LV_EVENT_VALUE_CHANGED, NULL);
    lv_obj_set_size(btnm, 225, 35);

    /Allow selecting on one number at time/
    lv_btnmatrix_set_btn_ctrl_all(btnm, LV_BTNMATRIX_CTRL_CHECKABLE);
    lv_btnmatrix_clear_btn_ctrl(btnm, 0, LV_BTNMATRIX_CTRL_CHECKABLE);
    lv_btnmatrix_clear_btn_ctrl(btnm, 6, LV_BTNMATRIX_CTRL_CHECKABLE);

    lv_btnmatrix_set_one_checked(btnm, true);
    lv_btnmatrix_set_btn_ctrl(btnm, 1, LV_BTNMATRIX_CTRL_CHECKED);

    lv_obj_center(btnm);

}

相关文章:

  • 计算机毕业设计SpringBoot+Vue.js智慧图书管理系统(源码+文档+PPT+讲解)
  • 安全测试之五:SQL Server注入漏洞几个实例
  • J5打卡——pytorch实现DenseNet+SE-Net猴痘分类
  • Java 反射(Reflection)的原理和应用
  • FPGA开发,使用Deepseek V3还是R1(6):以滤波器为例
  • Python接口自动化中操作Excel文件的技术方法
  • 时态知识图谱补全推理任务评价指标
  • 利用python实现对.xls文件表头的修改
  • openwebUI访问vllm加载deepseek微调过的本地大模型
  • STaR(Self-Taught Reasoner)方法:让语言模型自学推理能力(代码实现)
  • 算法题(83):寄包柜
  • 【重构小程序】升级JDK1.8、SpringBoot2.x 到JDK17、Springboot 3.x(一)
  • nano 是 Linux 系统中的一个 命令行文本编辑器
  • 计算机网络-实验3拓扑结构
  • Unix Domain Socket和eventfd
  • 10.3 指针进阶_代码分析
  • Java 中如何创建多线程?
  • 2025年能源工作指导意见重点内容
  • fps项目总结:关于攻击与受击
  • 【医学影像 AI】使用血管特征量化自动诊断早产儿视网膜病变中的附加病变
  • 免费网站建设itcask/网站如何提升seo排名
  • wordpress主页不显示/吉安seo网站快速排名
  • 把网站做成微信小程序/网络推广引流有哪些渠道
  • b2b网站的特点/怎么建网站卖东西
  • 贾汪网站建设/网上宣传方法有哪些
  • 毕业设计 建设旅游网站/外贸建站推广公司