GuiLite 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
GuiLite 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
GuiLite 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 Apache
开发语言 C/C++
操作系统 跨平台
软件类型 开源软件
所属分类 程序开发GUI开发框架
开源组织
地区 国产
投 递 者 idea4good
适用人群 未知
收录时间 2017-12-06

软件简介

GuiLite是4千行的图形界面库,可以运行在所有平台(例如:iOS/macOS/WathOS,Android,Linux(ARM/x86-64),Windows(包含VR),Docker和MCU)上;也可以与多种语言(例如: Swift, Java, Javascript, C#, Golang)协同工作。

  • 轻量: 4千行C++代码,可合并在:1个头文件(GuiLite.h),1个实现文件(GuiLite.cpp)中 - 轻松编译/移植
  • 超快: 一次调用就可以完成图形渲染,与操作系统及第三方库无关 - 程序更快速,UI更流畅
  • 可注入: 可注入在Qt/MFC/Winform/Cocoa/Web程序中运行 - 充分利用现有Qt/MFC代码,局部GuiLite优化,亦可显著提升效率
  • 最低硬件要求:
Processor Disk/ROM space Memory
24 MHZ 29 KB 9 KB

相比QT、MFC,GuiLite不预设开发者的使用场景,不在具体功能上,大包大揽;用框架的简洁,换取开发的自由;GuiLite在图形绘制上面,力图一步到位,运行效率感人。

卓越的跨平台能力

在Apple Watch下的运行效果:

  

在单片机上的运行效果:

  

cross-platform

出色的界面及3D效果

unicode

万国语(unicode)

 unicode

自我监控

上报编译/运行情况至云端:

BuildInfo

同步本地数据至云端:

DataOnCloud

为什么开发GuiLite?如何使用?

任何UI框架都不是为你我而生的,只有掌握核心原理,对其深度定制,才能真正掌握自己的命运!因此,我们开发了GuiLite,希望用这4千行代码揭示UI的核心原理和定制方法。

我们不推荐开发者全盘使用GuiLite;鼓励开发者在吃透代码后,根据自身业务特点,修改出更加丰富、个性的界面;或者发展出适合自己的UI框架。

为了聚焦UI核心原理,GuiLite会一直保持单片机的代码体量。

为什么GuiLite是最简单,易学的GUI库?

  • 代码量最少--只有4千行
  • 只使用C++基本特性(类和虚函数),不涉及复杂语法
  • 图形绘制以描点为基础,不使用任何算法
  • 设计简单,仅包括:界面元素管理和渲染
  • 配备了比较完善的文档,及学习方法指南
  • 配备了一系列的百行小demo,解析使用方法

视频链接:

GuiLite简介

3D GuiLite

MCU + GuiLite

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

BOM

器件型号 器件厂商 更多信息
{{o.mpn}} {{o.mfr}} 查看

评论

点击加入讨论🔥(56) 发布并加入讨论🔥
发表了资讯
2021/03/31 10:31

GuiLite 3.7 发布:被劝退的同学,回家吧;字体,不用做了

问题:你被GuiLite劝退的主要原因? 根据开发群同学的反馈,特别是精英开发者直面不讳的批评,我们发现被劝退的主要原因是:不支持freetype! 先看看在以前的字体开发流程下,开发者是如何被劝退的吧: 1. 使用字体工具做字体的cpp文件 2. 将cpp文件加入到工程中编译 3. 运行后,发现字体大小有点不合适,重复步骤1,2,3 4. 再运行,发现有些字的点阵是缺失的,需要加上;于是再重复步骤1,2,3 所以,开发者至少需要做6个步骤...

10
13
发表了资讯
2021/01/19 10:24

GuiLite 3.6 发布:摊牌了,我是 IoT

为什么要作IoT 是的,大家没有看错,GuiLite不仅是4千行的GUI框架,还是颇有影响力的IoT解决方案。难道GuiLite违背初心了?哪里热就往哪里跑?诚然,经过几年的努力,GuiLite在嵌入式领域已经有了比较好的基础,开发者们开发出了很多超有价值的商业解决方案,甚至自我手术,打造了GuiLite python版,GuiLite C语言版。有些时候,我们自己都有点没有存在感了,因为很多开发者作的比我们更出色! 但通过跟开发群的同学交流,我们也...

4
9
发表了资讯
2020/10/30 11:26

GuiLite 3.5 发布:视频,视频,视频

开发需求: GUI需要支持视频吗?视频对GUI有很多锦上添花的功能。排除视频监控这种硬需求,一个炫酷的开机的动画,一个精彩、专业的屏幕测试视频,或许都能给枯燥无味的开发工作带来一些小小的乐趣;同时在软件需求阶段,在没有软件可运行的情况下,通过在真机上播放视频,也能达到对整体效果的评估。 目前已经有很多大型GUI框架都是支持了视频,但在嵌入式领域,往往由于硬件配置较低,让视频的表现不佳。所以,如何为嵌入式硬...

3
9
发表了资讯
2020/09/16 08:40

GuiLite 3.4 发布: 没手机的同学,有福了

这年头还有人没有Android手机吗?答案是肯定的,据调查,大概有以下几类同学等同于没有手机: 1. iPhone用户,一般不会再购买一部Android手机。 2. 由于顾虑隐私问题,不愿意把自己的手机当小白鼠的Android开发者。 3. 在公司,禁止使用智能手机的开发者。 那么,没有Android手机,是不是就不能进行Android开发了呢?如果你的app是纯Java语言开发的话,就不是问题;但一般高阶一点的Android开发都是Java,C/C++混合编程,这时就...

6
16
发表了资讯
2020/06/30 10:15

GuiLite :老伙计的兴奋剂,奥力给!

随着GuiLite在大量低配置单片机上的成功;很多古董硬件(例如:51单片,ESP32,STM32)也被重新召回,这些老伙计们大多被尘封多年,随着软件的复杂化,本来是没有重见天日的机会。但由于GuiLite“简单粗暴”的渲染方式,让这些老伙计们去“点个小星星”,“跑个3D效果”,“转个时钟”还是绰绰有余的。 当然任何硬件,都离不开妙手回春的开发者。开发群里面卧虎藏龙,有些作品非常抢眼,完全看不出是出自在校大学生之手。好了,...

27
15
发表了资讯
2020/05/26 08:57

GuiLite 3.3 发布:要灵活扩展,还要简单粗暴

本次更新,解决了:定制多样化问题,并优化了软件启动速度。 定制需求: 随着开发群的日益壮大,有想法的开发者层出不穷;倒是群主太过正常,显得跟大家有点格格不入了。大家需求是这样的: 我的硬件,没有framebuffer(这种情况在内存较小的单片机平台很常见),但我也想用GuiLite画出漂亮流畅的效果 我需要一个可以滚动的UI效果,界面上的所有元素(窗口)可以一起上下左右滑动(例如:手机通信录) 我需要一个半透明的窗口,其...

6
8
发表了资讯
2020/05/11 09:01

是的,GuiLite 收费了

如何收费 GuiLite本身依然是开源且商业免费使用,依然遵循apache 2.0协议;我们仅对新申请加入开发群的开发者收取“1元”的入群费。对于已经入群的开发者,不会另外收费;同时,也鼓励大家使用GitHub、Gitee的issue功能进行免费沟通。 收费目的 首先感谢成千上万的开发者支持,让GuiLite社区日益活跃,推进了GuiLite朝着开发者需要的方向发展。但同时也带来了一些问题,俗话说:“树多有枯枝”,很难保证开发群中所有人都是纯粹...

21
8
发表了资讯
2020/04/07 09:45

GuiLite是:1 + 1,不是二选一

首次推出视频 很荣幸得到“Gitee酱”的邀请,在哔哩哔哩平台,作了一栏介绍GuiLite的视频节目 -- 放码过来;通过该节目让更多人了解了GuiLite这个项目,还收获了很多有价值的意见,和新的开发群同学。所以,感谢码云平台提供的这次机会,同时,也希望有更多的开源项目能参加这个栏目,让我们在彼此了解中,互通有无。 灵魂拷问 当然,收获更多的关注,也会收到很多经典的问题,比如: Q1. 我已经在用Qt了,为什么还要GuiLite? ...

4
10
发表了资讯
2020/02/05 10:31

GuiLite 3.2 发布:Header only + 极客时钟

Header-only GuiLite在闭关的时间里,又作了一次自我修理:实现了header-only,以后在使用GuiLite,只需要包含头文件GuiLite.h即可。具体特点如下: 即开即用,不需要编译成库,就可以直接使用,大大降低移植/使用成本 保留了原有的清晰的代码结构,方便大家查阅代码 对于GuiLite开发者,仍然可以在原有代码结构上修改代码,最后,通过命令header-only.sh生成GuiLite.h 对于希望闭源的同学,依然可以采用编译库的方式来隐藏代码...

1
7
发表了资讯
2020/01/08 11:32

二次点火 19,still love you 20 -- GuiLite 年度总结

2019是GuiLite开源的第二年,发生了很多有趣的事情,简单罗列了一些数字、事件,算是给2019作一个总结。 2019关键数字 GuiLite可统计的编译、运行次数均超过10,000次;Linux平台下的编译活动约占80%,Windows约占10%,单片机平台约占10% GitHub star数从800+ => 3400+ Gitee star数从500+ => 1400+ 开发群人数从400+ => 900+ Demo实例从2个 => 14个 GuiLite源码从5500+行 => 4900+行 2019的自打脸事件 GuiLite的最低运行配置为:...

7
20
发表了资讯
2019/12/18 09:00

GuiLite 3.1 发布:5 星 readme,开源必备

早在一年前,就有国外网友吐槽GuiLite的readme设计过于凌乱,可能缺少艺术细胞,当时觉得动感十足的页面挺好看的,所以不以为然;后来经过一些作设计的朋友的指点,专门花了点钱,对readme.md作了重新设计。不知道大家可对现在的页面足够满意? 通过广发英雄帖,收集反馈,大家对这次的改版还是比较满意的;既然如此,大家可以考虑收藏一下,为自己以后的开源项目备用。设计理念如下: 1. 设计一个高对比度,且突出重点的logo,...

4
17
发表了资讯
2019/11/26 09:15

GuiLite 3.0 发布:苹果手表 + 嵌入式

支持苹果手表: 老规矩,先上运行图: 是不是觉得又熟悉,又新鲜?这两个实例已经在上次的代码更新中出现了,不过当时他们只是在展示单片机上的运行效果(当然也支持windows,linux,qt);今天他们已经登上了“苹果手表”。经过这么多凭条的验证,GuiLite独特的跨平台方法有比较好的实用性,我们有信心在更多平台上,运行GuiLite,最大程度节省开发者的时间和精力。 同时,我们还非常注意作手表系统的开发者,我们即将为GuiLi...

5
9
发表了资讯
2019/10/09 09:01

GuiLite 2.9 发布:单片机 + 3D

新功能 原本以为3D的故事已经结束了,但是开发群“王多余”同学的一个视频,让我们意识到单片机上依然有实现3D效果的可能,从视频上看出:少许的3D特效对用户体验有非常直观的提升(例如:开机动画,进度条,指示信息等)。当然这些效果不是单片机独有,其他嵌入式linux平台,或windows平台也可以获利;毕竟能以最小的资源代价得到3D效果,并没有坏处。 为此,我们特别开发了一个3D引擎(Hello3D),因为该引擎仅仅引用到了Gui...

5
21
发表了资讯
2019/09/17 08:32

GuiLite 2.8 发布:解释核心,简化移植,拉手 Qt

友好的开源项目,不仅仅是上传代码,更是开源设计思路,开箱即用,让开发者无痛/快速的获得新思路,新方法和新工具。为了让 GuiLite 对所有开发者都足够友善,我们又作了一些更新。 解释核心:大家反应最为强烈的代码注释问题,得到了比较大的改善,增加了如下文档更新: 完成 display.cpp 的函数注释;该文件,负责对显示设备的适配和GUI的移植; 完成 surface.cpp 的函数注释;该文件,负责底层渲染及图层管理; 完成 wnd.cpp ...

4
16
发表了资讯
2019/08/20 07:39

GuiLite 2.7 发布:提速 Qt、MFC、Winforms、Web

自从上次发布了第一个3D程序,导演就跟我说了:“这就是个网页程序,跟GuiLite又没有啥关系,这也不是啥绝活呀”。所以,我们又作了另一个3D程序: 对GuiLite比较熟悉的同学,可能会发现,立方体的四个面上贴的是:GuiLite的两个单片机实例(HelloWave和HelloParticle);具体实现部分大家看代码就好,这里不多赘述(老规律,代码在100行左右) 耳边,似乎又听到导演的声音:“这也不是啥绝活呀~难道你还要用GuiLite代替宇宙第一前...

6
24
发表了资讯
2019/07/30 08:42

GuiLite 2.6发布:真3D,起航

感谢大家对Hello 3D的认可,自从发布以来,吸引了很多同学编译、运行,罕见的出现了Windows,Linux,MCU起头并进的运行盛况。 虽然Hello 3D有着不错的3D效果,特别是物理运动--栩栩如生;但眼光犀利的同学还是能通过分析代码发现:Hello 3D其实是2D程序。只是视觉效果上,看起来特别像3D而已。首先非常佩服这些大神级同学的眼力;其实即使不分析代码也能猜出来,几十K内存的单片机怎么可能运行真3D程序呢? Hello 3D不是真3D,确...

13
26
发表了资讯
2019/07/09 09:24

GuiLite 2.5 发布:Hello 3D

许久以来,一直想为 GuiLite 增加一个 3D 效果的 demo,但 2D 引擎实现 3D 效果几乎是不可能的事情。当然,可以使用 OpenGL 和 DirectX,但这跟 GuiLite 就没啥关系了。 经过一些思考和实践,我们作出来了 Hello3D 这个实例,代码情况如下: 100+ 行 C++ 代码 支持 MCU,代码已经支持了 STM32F103,当然你可以根据需要移植到任何平台上 系统资源占用小,内存 15k 足矣 支持 Windows,Linux,单片机 运行效果如下: 具体如何实现...

8
18
发表了资讯
2019/06/26 07:36

GuiLite 2.4 发布:多些“温度”,多些爱

Bug Fix: 根据开发者的反馈,该版本进行了部分bug fix,对“键盘”控件进行了简单重构,便于大家对键盘长宽进行修改。 新功能: 承蒙开发者的错爱,GuiLite获得了少量捐赠,并达到了提现标准(100元),于是如何使用捐赠成了一个新需求;因为GuiLite是靠众多开发者的帮助才起死回生的,所以我们也想把这种帮助扩散出去,特别是去帮助真实世界的弱势群体--大病儿童,为此,我们作了如下安排: 所有捐赠用于救助大病儿童 在捐赠达...

4
4
发表了资讯
2019/06/06 10:06

GuiLite 2.3 发布:不拖,不拽;所 code 即所得

几乎所有的GUI框架都有一个自己特有的IDE,除了编译/调试外,主要功能是通过“拖拽”控件,进行UI设计;也就是所谓的“所见即所得”。例如:Android Studio,Qt designer,MFC资源编辑器 所以,很多开发者也希望GuiLite也出一个类似的IDE;这次,我们出了一个类似的功能,但并没有开发IDE;我们作了一个前所未有的尝试: 1. 不开发IDE,但开发Visual Studio Code的插件 2. 通过插件,直接读取正在编写的源代码文件,并自动分析出...

13
27
发表了资讯
2019/05/08 09:24

GuiLite 2.2 发布:更清晰的文档,更有效的帮助

为了节省GUI的开发时间,降低学习成本;我们做了如下尝试: 1. 降低代码数量(目前为5千行;C++语言是降低代码量的关键,C很难做到这一点) 2. 降低代码复杂度(仅仅使用C++的基本特性:类及虚函数) 3. 清晰的编译指南,保证编译/运行成功率100% 4. 增加特点鲜明的小实例程序(目前已经达到了10个) 5. 增加了开发文档及实时的QQ开发群答疑 为了让大家在最短时间里面,掌握GuiLite的设计原理,我们对文档又进行了如下升级: 1....

0
15
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
56 评论
802 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部