赞
踩
nim_duilib 是一个界面库,包含了一整套桌面软件的开发部件,使用C++语言开发。nim_duilib是在NIM_Duilib_Framework库的基础上进行了代码功能完善和扩展,但由于代码结构和资源XML文件的格式均有调整,所以不能直接兼容基于NIM_Duilib_Framework开发的程序,但代码和资源XML迁移的难度不大。您可以直接使用nim_duilib界面库来开发常用的桌面应用,以简化应用程序的UI开发工作。
├─base
Google base 基础类库
├─duilib
nim_duilib 的核心代码,依赖 base
├─ui_components
基于 duilib 封装的常用组件库如 msgbox
、toast
、cef_control
等
├─examples
各类示例程序源代码
├─docs
说明文档
├─libs
静态库编译后的输出目录,包含预设的一些 CEF 组件静态库
├─bin
各个示例程序输出目录,包含预设的皮肤和语言文件以及 CEF 依赖
├─build
Windows下的程序配置及manifest文件等
├─licenses
引用的其他开源代码对应的licenses
├─duilib/third_party
nim_duilib 核心代码依赖的第三方库
├─ apng 用于对APNG图片格式的支持
├─ libpng 用于对PNG图片格式的支持
├─ cximage 用于对GIF/ICO图片格式的支持
├─ libwebp 用于对WebP图片格式的支持
├─ stb_image 用于对JPEG/BMP图片格式的支持
├─ svg 用于对SVG图片格式的支持
├─ unzip 用于对zip格式的资源包的支持
├─ zlib 用于对PNG/APNG图片格式的支持
├─ xml 用于对资源描述XML的解析支持
git clone https://github.com/rhett-lee/nim_duilib
git clone https://github.com/rhett-lee/skia_compile
编译skia源码:按照skia_compile目录中的“Windows下编译skia.md文档”中的方法,编译出skia相关的lib文件
注意事项:skia源码应该与nim_duilib源码位于相同的目录下。
注意事项:skia源码编译的时候,应使用LLVM编译,程序运行比较流畅;如果使用VS编译,运行速度很满,界面比较卡。
检查方法:编译成功以后,在skia/out的子目录下,有生成skia.lib等lib文件
编译nim_duilib:进入 nim_duilib/examples
目录,使用 Visual Studio 2022版本的 IDE 打开 examples.sln
,选择编译选项为Debug|x64或者Release|x64,按下 F7 即可编译所有示例程序(编译完成的示例程序位于bin目录中)。
编译附件说明:
(1)项目中工程的编译环境为Visual Studio 2022版本,如果使用其他版本的Visual Studio编译器,需要手动更新编译工程的属性。
(2)项目中的工程默认配置是x64的,如果需要编译Win32的程序,在编译skia的时候,也需要启动32位的命令行(x86 Native Tools Command Prompt for VS 2022)
(3)nim_duilib的代码兼容性默认是支持Win7以上系统,未支持Windows XP;Windows SDK的兼容性配置可在duilib\duilib_config.h文件中修改
(4)渲染引擎的支持:nim_duilib内部支持Skia绘制引擎和Gdiplus绘制引擎,默认是Skia引擎,不建议选择Gdiplus引擎,因为Gdiplus引擎下有些控件的功能不完善;
(5)如何配置切换渲染引擎:可修改duilib\Core\GlobalManager.cpp文件顶部的源码来切换渲染引擎。
更多的资源,参见代码仓库地址:nim_duilib
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。