nim duilib
nim_duilib 是一个界面库,包含了一整套桌面软件的开发部件,使用C++语言开发。nim_duilib是在NIM_Duilib_Framework库的基础上进行了代码功能完善和扩展,但由于代码结构和资源XML文件的格式均有调整,所以不能直接兼容基于NIM_Duilib_Framework开发的程序,但代码和资源XML迁移的难度不大。您可以直接使用nim_duilib界面库来开发常用的桌面应用,以简化应用程序的UI开发工作。
特色
- 核心特性包括:
- 通用样式:支持以XML格式描述应用程序的窗口属性、布局属性、控件属性等,方便调整界面元素的位置和大小,较为灵活
- 控件丰富:包含各种常见的窗口和控件,如图片控件、动画控件、按钮、文本框、列表控件、虚表控件、树控件、颜色选择控件、菜单等
- 事件驱动:基于消息机制的事件处理,使得UI交互逻辑清晰
- 皮肤支持:通过XML文件定义皮肤结构,可以轻松改变界面风格
- 性能优异:界面资源的内存占有率低,默认使用Skia引擎绘制,绘制性能较高
- 多种图片格式,支持的图片文件格式有:SVG/PNG/GIF/JPG/BMP/APNG/WEBP/ICO
- 动画图片,支持GIF动画文件、APNG动画文件、WebP动画文件
- 抽象渲染接口,支持Skia渲染引擎(也可以通过接口扩展为其他渲染引擎提供支持)
- DPI 自适应,支持高清DPI的适配
- 触控设备支持(Surface、Wacom)
- 多国语言支持,易于实现国际化
- CEF 控件支持
目录
├─base
Google base 基础类库
├─duilib
nim_duilib 的核心代码,依赖 base
├─ui_components
基于 duilib 封装的常用组件库如 msgbox
、toast
、cef_control
等
├─examples
各类示例程序源代码
├─docs
说明文档<