lvgl list(列表控件)
源代码static void list_event_handler(lv_obj_t * obj, lv_event_t event){ if (event == LV_EVENT_CLICKED) { printf("Clicked: %s\n", lv_list_get_btn_text(obj)); }} //16. 列表控件 //16.1 创建列表控件 lv_obj_t * list1 = lv_list_create(lv_scr_act(), NULL); lv_o
lvgl line meter(测线器对象)
源代码 //17.2 创建线表控件 /*Create a line meter */ lv_obj_t * lmeter; lmeter = lv_lmeter_create(lv_scr_act(), NULL); lv_lmeter_set_range(lmeter, 0, 100); /*Set the range*/ lv_lmeter_set_value(lmeter, 80); /*
lvgl page(页表控件)
源代码 //19. 页表控件 //19.1 页表类型创建 static lv_style_t style_sb; lv_style_copy(&style_sb, &lv_style_plain); style_sb.body.main_color = LV_COLOR_BLACK; style_sb.body.grad_color = LV_COLOR_BLACK; style_sb.body.border.color = LV_COLOR_WHITE; style_s
lvgl preload(预加载对象)
源代码: //20. 预加载对象 //20.1 对象属性设置 static lv_style_t style; lv_style_copy(&style, &lv_style_plain); style.line.width = 10; /*10 px thick arc*/ style.line.color = lv_color_hex3(0x258); /*Blueish arc color*/ style.
lvgl roller(滑动列表控件)
源代码:static void roller_event_handler(lv_obj_t * obj, lv_event_t event){ if (event == LV_EVENT_VALUE_CHANGED) { char buf[32]; lv_roller_get_selected_str(obj, buf, sizeof(buf)); printf("Selected month: %s\n", buf); }} //21 滚动对象 //21.1 创建一个滚动
lvgl slider(滑动条控件)
源代码:static lv_obj_t * slider_label;static void slider_event_cb(lv_obj_t * slider, lv_event_t event){ if (event == LV_EVENT_VALUE_CHANGED) { static char buf[4]; /* max 3 bytes for number plus 1 null terminating byte */ snprintf(buf, 4, "%u", lv_sl
lvgl spinbox(微调框控件)
源代码:static void spinbox_event_handler(lv_obj_t * obj, lv_event_t event){ if (event == LV_EVENT_VALUE_CHANGED) { printf("Value: %d\n", lv_spinbox_get_value(obj)); } else if (event == LV_EVENT_CLICKED) { /*For simple test: Click the spinbox to inc
lvgl sw(滑动按钮)
源代码:static void sw_event_handler(lv_obj_t * obj, lv_event_t event){ if (event == LV_EVENT_VALUE_CHANGED) { printf("State: %s\n", lv_sw_get_state(obj) ? "On" : "Off"); }} //24 滑动按钮控件 static lv_style_t bg_style; static lv_style_t indic_style;
lvgl tabview(选项卡控件)
源代码:// Arc事件回调函数static void arc_event_handler(lv_obj_t *obj, lv_event_t event){ int angle = 0; // 改变的角度值 if (event == LV_EVENT_CLICKED) { // 控件上单击事件 LV_LOG_INFO("arc_event_handler->Arc Clicked\n"); } else if (event == LV_EVENT_VALUE_CHANGED
采用C++模板,预先在结构体中定义C++类成员函数指针
1. 模板结构体定义//模板:主题与C++类函数映射关系template <typename T>struct TMatchTopicFunc { string strTopic; void (T::*ProcHook)(TMqttMsg &, TTopic &);};2. 定义个C++类class CRealtime{ //...public: //描述:实时数据交互接口 void Add(TMqttMsg &mqttMsg,
宏定义时动态定义结构体
struct packet { char type;};#define TAILQ_HEAD(name, type) \struct name { \ struct type *tqh_first; /* first element */ \ struct type **tqh_last; /* addr of last next element */ \}void test(){ TAILQ_HEAD(, packet) outgoing;.
基于ssh命令操作
1. 登录远程主机ssh -p 8888 [email protected]. 本地传文件至远程主机的指定目录scp -P 8888 ./dcSample.tar [email protected]:/usr/local/extapps
linux shell自动下载编译脚本
### Copyright By Schips, All Rights Reserved# https://gitee.com/schips/# File Name: make.sh# Created : Mon 28 Setp 2020 14:29:31 PM CST###!/bin/shBASE=`pwd`BUILD_HOST=arm-none-linux-gnueabiexport PATH=${PATH}://home/test/smbShare.
基于C++函数模板实现堆栈切换的一种方法
typedef struct { WORD wNum; int iArray[8]; bool fHeap; int *piArray;}TStackHeap;
USB报文捕获tcpdump
1. 内核需要支持usbmon模块https://blog.csdn.net/zmnqazqaz/article/details/50497733查看设备sysadm@SCT230A:~$ ls -la /tmp/dev/*正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消
今日推荐
周排行