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

个人网站名可以和别人一样吗北京商城网站开发公司

个人网站名可以和别人一样吗,北京商城网站开发公司,怎样建设网站后台,孙红雷做的二手车网站lvgl有触摸、键盘、实体按键、编码器四种输入设备 先来分析一下这四种输入设备有什么区别 #xff08;1#xff09;LV_INDEV_TYPE_POINTER 主要用于触摸屏 用到哪个输入设备保留哪个其他的也是#xff0c;保留触摸屏输入的任务注册#xff0c;其它几种种输入任务的注册1LV_INDEV_TYPE_POINTER 主要用于触摸屏 用到哪个输入设备保留哪个其他的也是保留触摸屏输入的任务注册其它几种种输入任务的注册注释掉 添加自己触摸函数 2LV_INDEV_TYPE_KEYPAD 要使用键盘或者编码器必须将创建个组具体参考编码器 必须创建一个对象组并且必须使用lv_group_t * g lv_group_create() 将对象添加到组中lv_group_add_obj(g, obj) 创建的组必须分配给输入设备lv_indev_set_group(my_indev, g) 它的输入处理函数keypad_read中就根据输入的不同按键(LV_KEY_UP,LV_KEY_DOWN,LV_KEY_LEFT,LV_KEY_RIGHT,LV_KEY_ENTER等)对Keypad所绑定的group内的组件进行操作如焦点的切换、进度条的滑动。比如说对于一个Table来说里面的数据很多有一个滑动条这个滑动条就受LV_KEY_UP和LV_KEY_DOWN键控制而对于一个Tabview来说Tab的切换则是受LV_KEY_LEFT和LV_KEY_RIGHT键控制。而Group中的组件之间的焦点切换则是通过LV_KEY_PREV和LV_KEY_NEXT键切换。 3LV_INDEV_TYPE_BUTTON 就是一个实体按键适用于GUI中焦点永远在某一个组件上的情况。按下物理按键就代表GUI中的按键按下。 修改成按钮实际坐标 添加按键按下函数 4LV_INDEV_TYPE_ENCODER 使用编码器您可以执行以下操作 按下它的按钮 长按其按钮 左转 右转 简而言之Encoder 输入设备的工作原理如下 通过转动编码器您可以专注于下一个/上一个对象。 当您在简单对象如按钮上按下编码器时它将被单击。 如果您在复杂对象如列表、消息框等上按下编码器该对象将进入编辑模式您可以通过转动编码器在对象内导航。 要退出编辑模式请长按按钮。 组的创建 从注释可以知道要使用键盘或者编码器必须将创建个组 可以使用自定义组和默认组 自定义组创建过程 必须创建一个对象组并且必须使用lv_group_t * g lv_group_create() 将对象添加到组中lv_group_add_obj(g, obj) 创建的组必须分配给输入设备lv_indev_set_group(my_indev, g) 以滑块为例 红色为聚焦时的状态这个状态左旋右旋可以修改滑块值和检测按键按下 在lv_port.c中使用编码器 可以在用到的地方创建自定义组那样可以不用声明组但要声明输入设备 extern lv_indev_t * indev_encoder; static lv_obj_t * slider1_label; static lv_obj_t * slider2_label; static lv_obj_t * slider3_label; static lv_obj_t * slider4_label;static void slider_event_cb(lv_event_t * e) {lv_obj_t * slider lv_event_get_target(e);int value lv_slider_get_value(slider);char buf[8];lv_snprintf(buf, sizeof(buf), %d%%, value);// 根据滑块更新对应的标签if (slider lv_obj_get_child(lv_scr_act(), 0)) {lv_label_set_text(slider1_label, buf);} else if (slider lv_obj_get_child(lv_scr_act(), 2)) {lv_label_set_text(slider2_label, buf);} else if (slider lv_obj_get_child(lv_scr_act(), 4)) {lv_label_set_text(slider3_label, buf);} else if (slider lv_obj_get_child(lv_scr_act(), 6)) {lv_label_set_text(slider4_label, buf);} }void lv_example_slider_1(void) {/* 创建第一个滑块 */lv_obj_t * slider1 lv_slider_create(lv_scr_act());lv_obj_set_size(slider1, 200, 10); // 设置滑块的大小lv_obj_align(slider1, LV_ALIGN_TOP_MID, 0, 20); // 将第一个滑块对齐到顶部中间lv_obj_add_event_cb(slider1, slider_event_cb, LV_EVENT_VALUE_CHANGED, NULL);/* 创建第一个滑块的标签 */slider1_label lv_label_create(lv_scr_act());lv_label_set_text(slider1_label, 0%);lv_obj_align_to(slider1_label, slider1, LV_ALIGN_OUT_BOTTOM_MID, 0, 10);/* 创建第二个滑块 */lv_obj_t * slider2 lv_slider_create(lv_scr_act());lv_obj_set_size(slider2, 200, 10); // 设置滑块的大小lv_obj_align(slider2, LV_ALIGN_TOP_MID, 0, 80); // 将第二个滑块对齐到第一个滑块下方lv_obj_add_event_cb(slider2, slider_event_cb, LV_EVENT_VALUE_CHANGED, NULL);/* 创建第二个滑块的标签 */slider2_label lv_label_create(lv_scr_act());lv_label_set_text(slider2_label, 0%);lv_obj_align_to(slider2_label, slider2, LV_ALIGN_OUT_BOTTOM_MID, 0, 10);/* 创建第三个滑块 */lv_obj_t * slider3 lv_slider_create(lv_scr_act());lv_obj_set_size(slider3, 200, 10); // 设置滑块的大小lv_obj_align(slider3, LV_ALIGN_TOP_MID, 0, 140); // 将第三个滑块对齐到第二个滑块下方lv_obj_add_event_cb(slider3, slider_event_cb, LV_EVENT_VALUE_CHANGED, NULL);/* 创建第三个滑块的标签 */slider3_label lv_label_create(lv_scr_act());lv_label_set_text(slider3_label, 0%);lv_obj_align_to(slider3_label, slider3, LV_ALIGN_OUT_BOTTOM_MID, 0, 10);/* 创建第四个滑块 */lv_obj_t * slider4 lv_slider_create(lv_scr_act());lv_obj_set_size(slider4, 200, 10); // 设置滑块的大小lv_obj_align(slider4, LV_ALIGN_TOP_MID, 0, 200); // 将第四个滑块对齐到第三个滑块下方lv_obj_add_event_cb(slider4, slider_event_cb, LV_EVENT_VALUE_CHANGED, NULL);/* 创建第四个滑块的标签 */slider4_label lv_label_create(lv_scr_act());lv_label_set_text(slider4_label, 0%);lv_obj_align_to(slider4_label, slider4, LV_ALIGN_OUT_BOTTOM_MID, 0, 10);/* 创建 group */lv_group_t * group lv_group_create();// 将滑块添加到组中lv_group_add_obj(group, slider1);lv_group_add_obj(group, slider2);lv_group_add_obj(group, slider3);lv_group_add_obj(group, slider4);// 将 group 绑定到输入设备假设 indev_encoder 已初始化lv_indev_set_group(indev_encoder, group); }使用默认组 对于一些比较复杂的组件使用默认组可以很方便 在lvgl中有些部件在创建的时候加入到默认组中但是默认组变量lvgl并没有帮助我们初始化好我们需要在创建部件之前初始化好才能使用默认组这个自定义组一样不同的是对于创建时添加 lv_group_t * g lv_group_create(); // 创建一个组 lv_group_set_default(g); // 设置为默认组 之后在需要的地方获取和绑定默认组 /* 获取group */ lv_group_t * group lv_group_get_default();// 将 group 绑定到输入设备 lv_indev_set_group(indev_encoder, group); 以tabview为例 可以在这里创建默认组 extern lv_indev_t * indev_encoder; static lv_obj_t * slider1_label; static lv_obj_t * slider2_label; static lv_obj_t * slider3_label; static lv_obj_t * slider4_label;static void slider_event_cb(lv_event_t * e) {lv_obj_t * slider lv_event_get_target(e);int value lv_slider_get_value(slider);char buf[8];lv_snprintf(buf, sizeof(buf), %d%%, value);// 根据滑块更新对应的标签if (slider lv_obj_get_child(lv_scr_act(), 0)) {lv_label_set_text(slider1_label, buf);} else if (slider lv_obj_get_child(lv_scr_act(), 2)) {lv_label_set_text(slider2_label, buf);} else if (slider lv_obj_get_child(lv_scr_act(), 4)) {lv_label_set_text(slider3_label, buf);} else if (slider lv_obj_get_child(lv_scr_act(), 6)) {lv_label_set_text(slider4_label, buf);} }void lv_example_slider_1(void) {/* 创建第一个滑块 */lv_obj_t * slider1 lv_slider_create(lv_scr_act());lv_obj_set_size(slider1, 200, 10); // 设置滑块的大小lv_obj_align(slider1, LV_ALIGN_TOP_MID, 0, 20); // 将第一个滑块对齐到顶部中间lv_obj_add_event_cb(slider1, slider_event_cb, LV_EVENT_VALUE_CHANGED, NULL);/* 创建第一个滑块的标签 */slider1_label lv_label_create(lv_scr_act());lv_label_set_text(slider1_label, 0%);lv_obj_align_to(slider1_label, slider1, LV_ALIGN_OUT_BOTTOM_MID, 0, 10);/* 创建第二个滑块 */lv_obj_t * slider2 lv_slider_create(lv_scr_act());lv_obj_set_size(slider2, 200, 10); // 设置滑块的大小lv_obj_align(slider2, LV_ALIGN_TOP_MID, 0, 80); // 将第二个滑块对齐到第一个滑块下方lv_obj_add_event_cb(slider2, slider_event_cb, LV_EVENT_VALUE_CHANGED, NULL);/* 创建第二个滑块的标签 */slider2_label lv_label_create(lv_scr_act());lv_label_set_text(slider2_label, 0%);lv_obj_align_to(slider2_label, slider2, LV_ALIGN_OUT_BOTTOM_MID, 0, 10);/* 创建第三个滑块 */lv_obj_t * slider3 lv_slider_create(lv_scr_act());lv_obj_set_size(slider3, 200, 10); // 设置滑块的大小lv_obj_align(slider3, LV_ALIGN_TOP_MID, 0, 140); // 将第三个滑块对齐到第二个滑块下方lv_obj_add_event_cb(slider3, slider_event_cb, LV_EVENT_VALUE_CHANGED, NULL);/* 创建第三个滑块的标签 */slider3_label lv_label_create(lv_scr_act());lv_label_set_text(slider3_label, 0%);lv_obj_align_to(slider3_label, slider3, LV_ALIGN_OUT_BOTTOM_MID, 0, 10);/* 创建第四个滑块 */lv_obj_t * slider4 lv_slider_create(lv_scr_act());lv_obj_set_size(slider4, 200, 10); // 设置滑块的大小lv_obj_align(slider4, LV_ALIGN_TOP_MID, 0, 200); // 将第四个滑块对齐到第三个滑块下方lv_obj_add_event_cb(slider4, slider_event_cb, LV_EVENT_VALUE_CHANGED, NULL);/* 创建第四个滑块的标签 */slider4_label lv_label_create(lv_scr_act());lv_label_set_text(slider4_label, 0%);lv_obj_align_to(slider4_label, slider4, LV_ALIGN_OUT_BOTTOM_MID, 0, 10);/* 创建 group */lv_group_t * group lv_group_create();// 将滑块添加到组中lv_group_add_obj(group, slider1);lv_group_add_obj(group, slider2);lv_group_add_obj(group, slider3);lv_group_add_obj(group, slider4);// 将 group 绑定到输入设备假设 indev_encoder 已初始化lv_indev_set_group(indev_encoder, group); }实现获取编码器增量值和判断编码器是否按下 参考官方文档 实现获取编码器增量值和判断编码器是否按下
http://www.ho-use.cn/article/10813952.html

相关文章:

  • 服装图案素材网站php网站开发实例教程实验报告
  • 做任务用手机号登录网站上海seo推广公司
  • 中小型企业网站建设企业自建站运营
  • 南京网站建设 小程序推动高质量发展发言材料
  • 网站返回按钮设计广州市越秀区建设局网站
  • 中国建设银行的网站用户名是什么意思温州推广平台
  • 公司内部网站建设管理办法六安网站建设企业
  • 做网站去什么公司阿里云 wordpress 博客
  • 环保工程东莞网站建设wordpress 中文网站
  • 自动搭建网站源码沙田镇网站建设公司
  • 广州做网站的网络公司类似谷德设计网的网站
  • 找兼职h5网站开发人员淘宝做网站的
  • 东莞好的网站建设哪家好多少网站域名采用中文
  • 网站开发亿码酷技术苏州网站建设丶好先生科技
  • 2_ 如何写一份详细的网站开发方案wordpress 自动发货插件
  • 网站优化技术在哪个网站做失业分解
  • iis怎么添加网站贵阳市住房和城乡建设局政务网站
  • 电商平台如何引流推广奢侈品网站怎么做tuig优化
  • 阅读网站模板下载网站建设服务好
  • 西安专业做网站的龙岩网络三大巨头
  • 厦门石材网站建设全网搜索
  • 国外的有趣设计网站网站开发招标公告
  • 永川网站开发飞天云服务器
  • 台前网站建设华为应用商店下载安装
  • 建什么类型个人网站比较好seo应用领域有哪些
  • asp企业网站源码做视频网站需要哪些技术指标
  • 视频在线观看网站怎么建设微信小程序cms系统
  • 关键词挖掘工具爱站网网页开发需要多少钱
  • 同源大厦 网站建设中国纪检监察报投稿
  • 嘉兴网站设计公司网站开发培训中心