WhyCan Forum(哇酷论坛)

人过留名,雁过留声,感谢各位朋友不离不弃地支持。 QQ: 516333132, 微信: whycan_cn (哇酷网/挖坑网/填坑网) admin@whycan.cn

您尚未登录。

#1 2020-01-16 16:28:01

staunchheart
会员
注册时间: 2019-12-17
累计积分: 75

一个不错的LVGL Builder设计器

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>
编译就可以使用了。贴两张图
1.png2.png3.png

离线

#2 2020-01-16 16:38:56

jimmy
Moderator
注册时间: 2017-10-29
累计积分: 314

Re: 一个不错的LVGL Builder设计器

墙贴留名!

离线

#3 2020-01-16 17:13:29

jimmy
Moderator
注册时间: 2017-10-29
累计积分: 314

Re: 一个不错的LVGL Builder设计器

楼主在什么平台用什么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#

离线

#4 2020-01-16 17:16:30

staunchheart
会员
注册时间: 2019-12-17
累计积分: 75

Re: 一个不错的LVGL Builder设计器

WIN10 QT5.10   Mingw

你哪个似乎是编译器不支持C++11吧。

最近编辑记录 staunchheart (2020-01-16 17:17:45)

离线

#5 2020-01-16 17:18:46

jimmy
Moderator
注册时间: 2017-10-29
累计积分: 314

Re: 一个不错的LVGL Builder设计器

应该支持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)

离线

#6 2020-01-16 17:19:09

jimmy
Moderator
注册时间: 2017-10-29
累计积分: 314

Re: 一个不错的LVGL Builder设计器

我再试一试Windows mingw Qt

离线

#7 2020-01-16 17:26:00

staunchheart
会员
注册时间: 2019-12-17
累计积分: 75

Re: 一个不错的LVGL Builder设计器

不行的话,我将我编译好的发到上面来。

离线

#8 2020-01-16 17:29:16

jimmy
Moderator
注册时间: 2017-10-29
累计积分: 314

Re: 一个不错的LVGL Builder设计器

staunchheart 说:

不行的话,我将我编译好的发到上面来。

果然可以了, 谢谢你@staunchheart大神,

windows qt 5.12.3 @ mingw32, 编译运行成功, 只是拖拽控件的时候屏幕有点闪, 估计还是开发中的原因吧。

离线

#9 2020-01-16 17:41:15

jimmy
Moderator
注册时间: 2017-10-29
累计积分: 314

Re: 一个不错的LVGL Builder设计器

2020-01-16_173937.png

Qt5.6.3 编译也有一样的问题, mingw gcc是 4.9.2,

前面 Qt5.12.3 mingw gcc 是 7.3版本

离线

#10 2020-01-16 18:29:18

好想做个有钱人
会员
注册时间: 2019-12-19
累计积分: 40

Re: 一个不错的LVGL Builder设计器

貌似从这里叉来的: https://github.com/CURTLab/LVGLBuilder

说明不是lvgl 官方出的, 感谢楼主分享.

离线

#11 2020-01-16 22:10:02

staunchheart
会员
注册时间: 2019-12-17
累计积分: 75

Re: 一个不错的LVGL Builder设计器

好想做个有钱人 说:

貌似从这里叉来的: https://github.com/CURTLab/LVGLBuilder

说明不是lvgl 官方出的, 感谢楼主分享.

是的,就是这从里来的,应该放原始的地址较好。随手叉了下,复制地址搞错了。
我改成原始地址,我也没打算去修改他。

离线

#12 2020-01-16 22:11:47

staunchheart
会员
注册时间: 2019-12-17
累计积分: 75

Re: 一个不错的LVGL Builder设计器

jimmy 说:

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版本

。。。
这些坑我都没有踩到,我操作时一切顺利。。。

离线

#13 2020-01-16 22:34:01

win32prog
会员
注册时间: 2019-11-28
累计积分: 138

Re: 一个不错的LVGL Builder设计器

windows下 Qt5.12 可以编译通过, 谢谢楼主推荐, 用来学习 Qt 编程也很不错.

离线

#14 2020-01-17 08:19:13

staunchheart
会员
注册时间: 2019-12-17
累计积分: 75

Re: 一个不错的LVGL Builder设计器

这个工具修改不了画布大小,每次都需要重新编译,所以搞了个最简单的方法,解决侬个问题,加个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

这样就能凑合着修改大小了。

离线

#15 2020-01-17 08:24:42

jimmy
Moderator
注册时间: 2017-10-29
累计积分: 314

Re: 一个不错的LVGL Builder设计器

哈, 我还准备发帖问这个问题呢, 一刷新楼主居然抢答了。

离线

#16 2020-01-17 11:29:24

staunchheart
会员
注册时间: 2019-12-17
累计积分: 75

Re: 一个不错的LVGL Builder设计器

jimmy 说:

哈, 我还准备发帖问这个问题呢, 一刷新楼主居然抢答了。

知道你的300多分怎么来的。。。:)  smile
我也继续水。。。。

离线

#17 2020-01-17 15:07:42

sea18c
会员
注册时间: 2019-08-05
累计积分: 124

Re: 一个不错的LVGL Builder设计器

大家要水得有型 big_smile

离线

#18 2020-01-22 19:46:50

Iven
会员
注册时间: 2018-04-10
累计积分: 12

Re: 一个不错的LVGL Builder设计器

群里QT大神出马~~~~~~~~~~~

离线

#19 2020-03-10 09:49:26

jackem
会员
注册时间: 2019-12-23
累计积分: 5

Re: 一个不错的LVGL Builder设计器

这个工具还真不错,支持楼主

离线

#20 2020-03-12 11:45:13

lizuqing
会员
注册时间: 2020-03-09
累计积分: 3

Re: 一个不错的LVGL Builder设计器

谢谢了,正需要呢。

离线

#21 2020-03-25 00:41:33

1066950103
会员
注册时间: 2017-11-17
累计积分: 52

Re: 一个不错的LVGL Builder设计器

这才是hmi 的方案嘛 标记

离线

#22 2020-03-26 10:58:11

wzbtp
会员
注册时间: 2018-09-10
累计积分: 3

Re: 一个不错的LVGL Builder设计器

离线

页脚