添加百问网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); // 将标签居中对齐
}