1.所需要的材料如下:
- Qt5.14.2,下载到的文件名为 qt-opensource-windows-x86-5.14.2
- SDL2,下载到的文件名为SDL2-devel-2.0.10-mingw.tar.gz
- littleVGL模拟器库,下载到的文件名为lv_pc_simulator.zip
2.搭建环境为Win10 64位
3. Qt5.14.2下载地址:https://download.qt.io/archive/qt/5.14/5.14.2/
4.安装,
4.1下载完之后,直接双击打开安装包,点击Next即可
4.2登录Qt账号
如果有Qt账号,直接登录就可以了,如果没有可以在下面注册一个,然后点Next(如果不想填写,请先断网,然后重新打开安装程序)
4.3选择安装路径
现在你可以选择安装路径,建议大家自行修改一下(注意:路径中不能有空格,也不能有中文),确保自己能找到位置,后续可能会有一些配置,需要找到路径
4.4选择组件
路径设置完之后,到了选择组件的界面,如图:第二个组件不需要管,点开第一个组件Qt 5.14.2。
4.5点开之后,把这些都选上,OK,下一步~(如果没有用VS开发Qt项目的需求可以不点 MSVC 2017)
4.6许可协议
把同意协议选上,才能点击下一步
4.7安装
然后一直点下一步 -> 最后点安装,等待安装完成即可
(将是一个漫长的安装过程)
4.8电脑好的会非常快
5.SDL2 动态库,
SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。目前SDL多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。
SDL仅仅用于在PC上模拟显示,如果嵌入式设备上,则不需要,只需要移植好对应的显示驱动即可。
只需要开发库即可,这里选择SDL2-devel-2.0.14-mingw.tar.gz (MinGW 32/64-bit)
下载地址:https://www.libsdl.org/download-2.0.php
6.LittlevGL下载
LittlevGL是一个免费的开源图形库,提供了创建嵌入式GUI所需的一切,具有易于使用的图形元素、漂亮的视觉效果和低内存占用。https://lvgl.io/
littlevGL下载:https://github.com/littlevgl/lv_sim_eclipse_sdl
7.Qt创建工程
7.1文件->新建项目
7.2 添加工程名称及路劲,一直下一步直至完成。
7.3 项目目录最终生成两个文件夹
7.4复制所需文件到工程路径下
将littleVGL源码中的文件(红色部分)复制到Pro_littleVGL目录下main.c覆盖,
复制SDL 文件到工程目录
如果Qt用的是mingw32:SDL2-2.0.14\i686-w64-mingw32\include 文件夹下SDL2目录(绿色部分)复制到上面工程路径中
如果Qt用的是mingw64:SDL2-2.0.14\x86_64-w64-mingw32\include 文件夹下SDL2目录(绿色部分)复制到上面工程路径中
如果Qt用的是mingw32:SDL2-2.0.14\i686-w64-mingw32文件夹下lib目录(绿色部分)复制到上面工程路径中
如果Qt用的是mingw64:SDL2-2.0.14\x86_64-w64-mingw32文件夹下lib目录(绿色部分)复制到上面工程路径中
7.5 添加文件到工程中
7.6选择所有文件,过滤*.c;*.h,应用过滤Apply Filters,添加
7.7文件添加完成后,Pro_littlevGL.pro文件添加SDL lib编译选项
LIBS += -L$$PWD/lib/ -lmingw32 -lSDL2main -lSDL2
INCLUDEPATH += $$PWD/SDL2/
7.8 编译运行
将SDL2-2.0.14\i686-w64-mingw32\bin路径下的SDL2.dll复制到build-Pro_littleVGL-Desktop_Qt_5_14_2_MinGW_32_bit-Debug
7.9运行效果:
8.添加自己的GUI测试代码
8.1 在Pro_littleVGL\lv_examples\src路劲下添加自己的测试文件lv_ex_test_demo
#ifndef __TEST_H__
#define __TEST_H__
#ifdef __cplusplus
extern "C" {
#endif
/********************* * INCLUDES *********************/
#ifdef LV_CONF_INCLUDE_SIMPLE
#include "lvgl.h"
#include "lv_ex_conf.h"
#else
#include "../../../lvgl/lvgl.h"
#include "../../../lv_ex_conf.h"
#endif
void test_start(void);
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif // __TEST_H__
#include "test.h"
void test_start()
{
//获取当前的屏幕对象
lv_obj_t * scr = lv_disp_get_scr_act(NULL);
//在屏幕上创建一个 label控件
lv_obj_t * label1 = lv_label_create(scr, NULL);
//设置 label的文本内容
lv_label_set_text(label1, "I am zhaoxiaoping");
//设置文本和父控件 (在这里就是屏幕 )居中对齐
lv_obj_align(label1, NULL, LV_ALIGN_CENTER, 0, 0);
}
8.2 添加方法和上边7.5 、7.6相同
添加文件到工程中
选择所有文件,过滤*.c;*.h,应用过滤Apply Filters,添加
8.3 添加屏蔽其他的demo 添加自己测试demo的test_start();
8.4运行效果