183 Star 839 Fork 306

Polarix / SimpleGUI

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

SimpleGUI


简介

SimpleGUI是一款针对单色显示屏设计的接口库。

SimpleGUI在SSD1306主控制器的OLED显示屏上的显示效果

特征

SimpleGUI相比于传统的GUI框架,SimpleGUI移除了诸如心跳、绘图缓冲、图层等概念,仅提供各种各样的绘图接口、以及由这些绘图接口绘制出的更复杂的图形组件,以此来降低整整体对系统资源的需求。

设计目标

在尽可能减小资源消耗的前提下,提供以下功能:

  1. 点、线、基本几何图形、单色位图、文字等的绘制功能。
  2. 列表、进度条、滚动条、提示框、曲线图等复杂部件的显示功能。
  3. 单色显示屏模拟环境,方便脱离硬件平台进行部分GUI开发。

部署模拟器

SimpleGUI提供了一个单色显示屏的模拟器以方便开发者进行基于SimpleGUI的开发,模拟器的详细的使用方法请参照Documents文件夹下的《01-快速开始SimpleGUI》。

预览效果

模拟器预览1 模拟器预览2

移植

SimpleGUI的移植方法,可以参照Documents文件夹下的《02-移植演示程序》,里面详细阐述了SimpleGUI在MDK5环境下移植到STM32F1平台下的方法和移植要点,其他平台也可参照。

关于SimpleGUI

SimpleGUI发布已经有很长时间了,在发布后很多人都来询问一些技术细节以及提出一些宝贵的意见与建议,但是很多建议和SimpleGUI的设计初衷相悖,所以我并没有采纳,关于这一点,还请大家谅解。所以在这里,详细阐述一下SimpleGUI的设计理念和主导思想。

首先,SimpleGUI面向的是单色显示屏,目前市面上的单色显示屏一般12864和19264居多,最大的应该也就240160的样子,但不太常见。这种屏幕因为像素密度不高,单屏幕能显示的内容有限,所以,面向此类平台的SimpleGUI就舍弃了诸如图层、窗口、阴影等的实现,希望能用尽可能少的元素,兼顾美观的同时在屏幕上表现尽可能多的内容。

其次,SimpleGUI的另一个目标就是轻量化,希望能尽可能减少对资源的消耗,所以暂时没有引入对文件字库、非等宽字体等特性的支持。作为SimpleGUI的设计和开发者,我的初衷是希望尽可能减少开发人员在一些简单地事情上浪费时间,转而投入到更有意义的事情上去。

另外,我正在致力于开发一款文字取模的工具,类似PCtoLCD2002那种,以方便开发者可以定制最符合自身需求的字库。

视频讲解

为了方便大家进一步了解SimpleGUI并快速上手,我录制了一些视频供大家参考。

内容 地址
01 SimpleGUI概述 https://www.bilibili.com/video/av86593220/
02 基础绘图 https://www.bilibili.com/video/av86890300/
03 文本文字 https://www.bilibili.com/video/av87098997/
04 拓展组件概述 https://www.bilibili.com/video/av87432375/
05 交互引擎HMI https://www.bilibili.com/video/av87530421/
06 VirtualSDK概述 https://www.bilibili.com/video/av87713369/
07 基于VirtualSDK的GUI开发 https://www.bilibili.com/video/BV1qz4y12771/

参与讨论

如果您有意参与SimpleGUI的讨论与改进,可以在以下地方留言:

  1. 开源中国SimpleGUI页面:https://www.oschina.net/p/simplegui
  2. 码云页面:https://gitee.com/Polarix/simplegui
  3. QQ交流群:799501887

开发计划

现阶段,SimpleGUI正在致力于解决以下问题

  • 设计并使用遮罩机制,简化绘图接口,增强表达能力
  • 提供极坐标相关的绘图接口

捐助项目

开源项目维护不易,如果您觉得本项目还不错,对您有所帮助,是不是也可以考虑捐助本项目。

The MIT License (MIT) Copyright (c) 2017 Polarix Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

一个面向单色显示屏的开源GUI接口库。 展开 收起
C 等 2 种语言
MIT
取消

发行版 (2)

全部

贡献者

全部

近期动态

加载更多
不能加载更多了
C
1
https://gitee.com/Polarix/simplegui.git
git@gitee.com:Polarix/simplegui.git
Polarix
simplegui
SimpleGUI
Stable

搜索帮助