添加百问网demo至工程模板
上一节使用codeBlocks运行了LVGL ,以此作为模板,将百问网的一些demo添加至该工程中
拷贝文件与配置文件至该目录下
- 打开工程包含文件
–>add files recusively
–>add files
编译一次出现如下情况(后面学到了再做解决)
打开lv_100ask_lesson_demos_conf.h文件 保留一个宏定义将其他宏定义注释掉 这里只保留了一个2_3_1
再次编译无报错
在main函数中添加头文件并调用demo
编译并运行
小改下输出
lv_obj_t * obj;lv_obj_t * label;obj = lv_obj_create(lv_screen_active());lv_obj_set_size(obj, LV_PCT(40), LV_PCT(30));lv_obj_align(obj, LV_ALIGN_CENTER, 0, 0);label = lv_label_create(obj);lv_label_set_text_fmt(label, "Hello, LVGL!\n LVGL V%d.%d.%d\n https://www.100ask.net", lv_version_major(), lv_version_minor(), lv_version_patch());lv_obj_align(label, LV_ALIGN_CENTER, 0, 0);
使用此段代码替换
lv_obj_t * parent = lv_obj_create(lv_scr_act());lv_obj_set_size(parent, 240, 240); // 设置父容器的大小lv_obj_center(parent); // 将父容器居中显示// 创建一个3x3的网格布局static lv_coord_t col_dsc[] = {LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_TEMPLATE_LAST};static lv_coord_t row_dsc[] = {LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_TEMPLATE_LAST};lv_obj_set_grid_dsc_array(parent, col_dsc, row_dsc); // 设置父容器的网格布局// 循环创建9个格子for (int i = 0; i < 9; i++) {lv_obj_t * btn = lv_btn_create(parent); // 创建按钮对象lv_obj_set_grid_cell(btn,LV_GRID_ALIGN_STRETCH, i % 3, 1,LV_GRID_ALIGN_STRETCH, i / 3, 1); // 将按钮放置到网格的指定位置lv_obj_t * label = lv_label_create(btn); // 在按钮内创建标签lv_label_set_text_fmt(label, "%d", i + 1); // 设置标签文本为对应的数字lv_obj_center(label); // 将标签居中对齐}