LCUI.cssUI 组件库
LCUI 是一种自由和开放源代码的图形界面开发库,主要使用 C 语言编写,支持使用 CSS 和 XML 描述界面结构和样式,可用于构建简单的桌面应用程序。
主要特性
- C 语言编写: 适用于体积较小且主要使用 C 语言实现的应用程序,以及偏向使用 C 语言编写简单应用的开发者。
- 跨平台: 支持 Windows 和 GNU/Linux 系统,可开发简单的 Windows 桌面应用和通用应用,以及 Linux 桌面应用。
- XML 解析: 支持使用 XML 标记语言描述界面的结构,更少的代码量,更直观的表达方式,易于开发和维护。
- CSS 解析: 支持使用 CSS 代码描述界面元素的位置、大小、背景、字体、边框等样式,与应用程序的逻辑分离,易于使用和修改。
- 类 HTML 布局: 与浏览器处理的网页布局类似,但目前只支持块级(block)、内联块级(inline-block)和简单的弹性(flex)布局,如果你有网页开发经验的话会比较容易上手。
- 界面缩放: 支持通过设置全局缩放比例来让界面适应不同像素密度的屏幕,也支持使用基于屏幕密度的 sp 和 dp 单位表示界面元素的位置和大小。
- 文本绘制: 支持为文本设置全局字体、行高、水平对齐方式,支持对局部文本块单独设置颜色、背景色、加粗、斜体。
- 字体管理: 支持加载多个字体文件,支持自定义界面中的标题、正文、引用、强调等类型的文本所使用的字体字族和风格。
- 图片处理: 提供图片读取接口,支持读取 jpg、png 和 bmp 格式的图片。支持逐行读取,可在读取图片的过程反馈读取进度。
- 触控: 支持多点触控,但目前只支持 Windows 系统。
缺陷
LCUI 是一个个人项目,其主要用途是方便作者能够开发简单的图形界面应用,简单也就意味着功能很少,比如:
- 没有硬件加速,图形渲染效率低下。
- 不支持选中和复制界面中的文本。
- 不支持实用 CTRL+C 复制内容,不支持使用 CTRL+V 粘贴内容到输入框。
- 不支持使用输入法输入非英文字符,例如:中文,日文,等。
- 当前版本并不支持渲染圆角边框。
- 布局系统简单,不支持网格、表格等布局。
评论