https://github.com/staunchheart/LVGLBuilder
这个设计器可以用QT编译。
新建项目时可以设置屏的大小,实际上没有用,
真正修正改大小在main.cpp中,将lvgl.init(xxx,xxx);
遇到的坑,,用VC2015 QT5.10 没有编译过去,然后我改用Mingw+QT5.10
报错的地方是'assert' was not declared in this scope assert
在报错的代码加上#include <cassert>
编译就可以使用了。贴两张图
离线
墙贴留名!
离线
楼主在什么平台用什么Qt 版本编译的, 我用Ubuntu18.04 Qt5.9.5 一堆错误
这样修正了一些:
diff --git a/LVGLObject.cpp b/LVGLObject.cpp
index 57bca92..2e28b13 100644
--- a/LVGLObject.cpp
+++ b/LVGLObject.cpp
@@ -3,6 +3,7 @@
#include "LVGLCore.h"
#include <QJsonArray>
+#include <assert.h>
LVGLObject::LVGLObject(const LVGLWidget *widgetClass, QString name, LVGLObject *parent)
: m_obj(widgetClass->newObject(parent->obj())), m_widgetClass(widgetClass)
diff --git a/LVGLProject.cpp b/LVGLProject.cpp
index b2ba85c..e9ce218 100644
--- a/LVGLProject.cpp
+++ b/LVGLProject.cpp
@@ -6,6 +6,7 @@
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonArray>
+#include <assert.h>
#include "LVGLCore.h"
#include "LVGLObject.h"
diff --git a/freetype/builds/unix/ftsystem.c b/freetype/builds/unix/ftsystem.c
index 826713f..8ba5600 100644
--- a/freetype/builds/unix/ftsystem.c
+++ b/freetype/builds/unix/ftsystem.c
@@ -19,6 +19,9 @@
#include <ft2build.h>
/* we use our special ftconfig.h file, not the standard one */
#include <ftconfig.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
#include FT_INTERNAL_DEBUG_H
#include FT_SYSTEM_H
#include FT_ERRORS_H
diff --git a/freetype/freetype.pri b/freetype/freetype.pri
index 52a036a..a3f8a46 100644
--- a/freetype/freetype.pri
+++ b/freetype/freetype.pri
@@ -57,3 +57,5 @@ win32 {
}
DEFINES += FT2_BUILD_LIBRARY
+
+INCLUDEPATH += $$PWD/include/freetype/config/
但是还是有一个错误, 不知道如何解决:
root@jimmy:/opt/LVGLBuilder# make
g++ -c -pipe -O2 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DFT_CONFIG_OPTION_ERROR_STRINGS -DFT2_BUILD_LIBRARY -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -Ilvgl -Ifreetype/include -Ifreetype/builds/unix -Ifreetype/include/freetype/config -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -Ibuild/moc -isystem /usr/include/libdrm -Ibuild/ui -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o build/obj/LVGLProject.o LVGLProject.cpp
LVGLProject.cpp: In static member function ‘static LVGLProject* LVGLProject::load(const QString&)’:
LVGLProject.cpp:42:27: error: no match for ‘operator[]’ (operand types are ‘QJsonDocument’ and ‘const char [5]’)
QJsonObject lvglObj = doc["lvgl"].toObject();
^
LVGLProject.cpp:46:27: error: no match for ‘operator[]’ (operand types are ‘QJsonDocument’ and ‘const char [7]’)
QJsonArray imageArr = doc["images"].toArray();
^
LVGLProject.cpp:52:26: error: no match for ‘operator[]’ (operand types are ‘QJsonDocument’ and ‘const char [6]’)
QJsonArray fontArr = doc["fonts"].toArray();
^
Makefile:6064: recipe for target 'build/obj/LVGLProject.o' failed
make: *** [build/obj/LVGLProject.o] Error 1
root@jimmy:/opt/LVGLBuilder#
离线
WIN10 QT5.10 Mingw
你哪个似乎是编译器不支持C++11吧。
最近编辑记录 staunchheart (2020-01-16 17:17:45)
离线
应该支持C++11:
root@jimmy:/opt/LVGLBuilder# g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.4.0-1ubuntu1~18.04.1' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1)
离线
我再试一试Windows mingw Qt
离线
不行的话,我将我编译好的发到上面来。
离线
不行的话,我将我编译好的发到上面来。
果然可以了, 谢谢你@staunchheart大神,
windows qt 5.12.3 @ mingw32, 编译运行成功, 只是拖拽控件的时候屏幕有点闪, 估计还是开发中的原因吧。
离线
Qt5.6.3 编译也有一样的问题, mingw gcc是 4.9.2,
前面 Qt5.12.3 mingw gcc 是 7.3版本
离线
貌似从这里叉来的: https://github.com/CURTLab/LVGLBuilder
说明不是lvgl 官方出的, 感谢楼主分享.
离线
貌似从这里叉来的: https://github.com/CURTLab/LVGLBuilder
说明不是lvgl 官方出的, 感谢楼主分享.
是的,就是这从里来的,应该放原始的地址较好。随手叉了下,复制地址搞错了。
我改成原始地址,我也没打算去修改他。
离线
https://whycan.cn/files/members/353/2020-01-16_173937.png
Qt5.6.3 编译也有一样的问题, mingw gcc是 4.9.2,
前面 Qt5.12.3 mingw gcc 是 7.3版本
。。。
这些坑我都没有踩到,我操作时一切顺利。。。
离线
windows下 Qt5.12 可以编译通过, 谢谢楼主推荐, 用来学习 Qt 编程也很不错.
离线
这个工具修改不了画布大小,每次都需要重新编译,所以搞了个最简单的方法,解决侬个问题,加个lcd.ini,里面配置大小。
修改main.cpp
QApplication a(argc, argv);
QSettings *configIni = new QSettings("lcd.ini", QSettings::IniFormat);
int x= configIni ->value("size/x",800).toInt();
int y= configIni ->value("size/y",480).toInt();
lvgl.init(x, y);
.....
....
然后在输出目录下新建一个lcd.ini
[size]
x=480
y=272
这样就能凑合着修改大小了。
离线
哈, 我还准备发帖问这个问题呢, 一刷新楼主居然抢答了。
离线
哈, 我还准备发帖问这个问题呢, 一刷新楼主居然抢答了。
知道你的300多分怎么来的。。。:)
我也继续水。。。。
离线
大家要水得有型
离线
群里QT大神出马~~~~~~~~~~~
离线
这个工具还真不错,支持楼主
离线
谢谢了,正需要呢。
离线
这才是hmi 的方案嘛 标记
离线
是
离线
这个好
离线
用这个自动生成代码比较爽
离线
有没有win直接运行的exe文件
离线
https://github.com/staunchheart/LVGLBuilder
这个设计器可以用QT编译。
新建项目时可以设置屏的大小,实际上没有用,
真正修正改大小在main.cpp中,将lvgl.init(xxx,xxx);
遇到的坑,,用VC2015 QT5.10 没有编译过去,然后我改用Mingw+QT5.10
报错的地方是'assert' was not declared in this scope assert
在报错的代码加上#include <cassert>
编译就可以使用了。贴两张图
请问下app_create函数怎么生成的,我这边qt编译启动后设计界面没找到怎么生成C文件
最近编辑记录 tianjjff (2020-04-29 09:51:21)
离线
https://github.com/staunchheart/LVGLBuilder
这个设计器可以用QT编译。
新建项目时可以设置屏的大小,实际上没有用,
真正修正改大小在main.cpp中,将lvgl.init(xxx,xxx);遇到的坑,,用VC2015 QT5.10 没有编译过去,然后我改用Mingw+QT5.10
报错的地方是'assert' was not declared in this scope assert
在报错的代码加上#include <cassert>
编译就可以使用了。贴两张图
请问下app_create函数怎么生成的,我这边qt编译启动后设计界面没找到怎么生成C文件
在file ->export->c project
就可以生成代码了。
离线
有没有win直接运行的exe文件
LVGLBuilder.7z
这个可以,但建议自己编译,因为这个代码其实还很粗糙,最好能修改一下功能。
离线
在file ->export->c project
就可以生成代码了。
好的,谢谢!
离线
这个设计器可以玩一下。
离线
下载下来玩一玩
离线
是littlevgl的么,一直想找一个c++版本的gui(qt挺好,就是有点大,并且越来越大),有推荐的么?
离线
这个东西感觉方便不少,可惜不会用QT
离线
分享一个自己静态编译的LVGLBuilder,不需要再带那么多dll了。
LVGLBuilder.rar
离线
分享一个自己静态编译的LVGLBuilder,不需要再带那么多dll了。
LVGLBuilder.rar
不错,有了这个就方便多了
离线
一直想弄个UI转json的工具,貌似github里说支持,下来试试。
离线
看了这个工具还没完善好
离线
不错的东西,就是里面的版本还是6.1版本的,啥时候能更新到7.0版本的哦。
离线
QT + MinGW 正常使用,项目确实不错
离线
刚入LVGL的坑,学习一下
离线
刚开始用LVGL,有这个设计器方便许多
离线
很强很强,支持
离线
windows下 Qt5.12 一次性可以编译通过, 谢谢楼主推荐, 用来学习 Qt 编程也很不错.
离线
好东西,过来学习一下,支持,入坑LVGL
离线
希望能像EMWIN那样方便在WINDOW下的GUIBuilder.exe
离线
有用,刚好项目需要,不过代码还是需要更改才能用到实际的项目中
离线
真的不错,不知道官方是否回出设计器?
离线
好东西,感谢分享。正准备编译,发现有编译好的,太好了
离线
找了半天设计器,总算找到了,lvgl的资源不多啊
离线
真的不错,下载下来看看哦,太好了!!!
离线
支持一波 刚好缺个LVGL的设计器
离线
推荐还是用原本的这个 https://github.com/CURTLab/LVGLBuilder 貌似还在更新中
离线
分享一个自己静态编译的LVGLBuilder,不需要再带那么多dll了。
LVGLBuilder.rar
谢谢 分享
离线
这个确实挺新颖的,yonguo lvgl
离线
只能支持到 lvgl6 吧
离线
最新版本好像支持lvgl7?
离线