Description
SOUI是目前为数不多的轻量级可快速开发window桌面程序开源DirectUI库.其前身为Duiengine,更早期则是源自于金山卫士开源版本UI库Bkwin.经过作者多次开发维护升级后得此库.SOUI其寓意为"瘦UI" "UI,just so so!",目的就是能够快速开发,并且在产品发布局时不需要携带其它额外的第三方依赖库,高度精简及集中;模块化使得渲染模块,图片解码模块,资源打包压缩模块得以清晰分离,更能够高度的自定义.UI解析目前可采用的是XML布局,便于理解各控件之间的层级关系及其自身的属性设置.目前已有很多成功的商业产品,深受广大开发者及企业的青睐
SOUI alternatives and similar libraries
Based on the "GUI" category.
Alternatively, view soui alternatives based on common mentions on social networks and blogs.
-
imgui
Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies -
webview
Tiny cross-platform webview library for C/C++. Uses WebKit (GTK/Cocoa) and Edge WebView2 (Windows). -
libui
Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports. -
Stacer
Linux System Optimizer and Monitoring - https://oguzhaninan.github.io/Stacer-Web -
FTXUI
Features: - Functional style. Inspired by [1] and React - Simple and elegant syntax (in my opinion). - Support for UTF8 and fullwidth chars (→ 测试). - No dependencies. - Cross platform. Linux/mac (main target), Windows (experimental thanks to contributors), - WebAssembly. - Keyboard & mouse navigation. Operating systems: - linux emscripten - linux gcc - linux clang - windows msvc - mac clang -
SixtyFPS
Slint is a toolkit to efficiently develop fluid graphical user interfaces for any display: embedded devices and desktop applications. We support multiple programming languages, such as Rust, C++ or JavaScript. [Moved to: https://github.com/slint-ui/slint] -
GacUI
GPU Accelerated C++ User Interface, with WYSIWYG developing tools, XML supports, built-in data binding and MVVM features. -
Turbo Vision
A modern port of Turbo Vision 2.0, the classical framework for text-based user interfaces. Now cross-platform and with Unicode support. -
FLTK
FLTK - Fast Light Tool Kit - https://github.com/fltk/fltk - cross platform GUI development -
copperspice
Set of cross platform C++ libraries (Core, Gui, Network, Multimedia, SQL, Vulkan, etc) -
PDCurses
A curses library for environments that don't fit the termcap/terminfo model. -
cuda-api-wrappers
Thin C++-flavored header-only wrappers for core CUDA APIs: Runtime, Driver, NVRTC, NVTX. -
xtd
Free open-source modern C++17 / C++20 framework to create console, GUI (forms like WinForms) and unit test applications and libraries on Microsoft Windows, Apple macOS and Linux. -
CTPG
Compile Time Parser Generator is a C++ single header library which takes a language description as a C++ code and turns it into a LR1 table parser with a deterministic finite automaton lexical analyzer, all in compile time. -
ncurses
snapshots of ncurses - see http://invisible-island.net/ncurses/ncurses.faq.html (no pull requests are accepted) -
Clip Library
Cross-platform C++ library to copy/paste clipboard content -
fox-toolkit
Unofficial Zenotech specific mirror of fox-toolkit; please refer to upstream site for latest version -
genetic
A performant and flexible genetic algorithm implemented in C++20/23. -
NotificationManager
A thread-safe, easy-to-use, utility for sending and receiving notifications. It allows you to decouple different modules of your application. -
static_string
Experimental compile-time string manipulation C++17 library -
QwtPlot3D
A feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets. [zlib]
InfluxDB - Power Real-Time Data Analytics at Scale
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of SOUI or a related project?
Popular Comparisons
README
SOUI
简介:
SOUI是目前为数不多的轻量级可快速开发window桌面程序开源DirectUI库.其前身为Duiengine,更早期则是源自于金山卫士开源版本UI库Bkwin.经过作者多次开发维护升级后得此库.SOUI其寓意为"瘦UI" "UI,just so so!",目的就是能够快速开发,并且在产品发布局时不需要携带其它额外的第三方依赖库,高度精简及集中;模块化使得渲染模块,图片解码模块,资源打包压缩模块得以清晰分离,更能够高度的自定义.UI解析目前可采用的是XML布局,便于理解各控件之间的层级关系及其自身的属性设置.目前已有很多成功的商业产品,深受广大开发者及企业的青睐
Git下载地址
DEMO仓库:
- https://github.com/soui-demo
- 每一个Demo一个单独的仓库,自己分别clone就好了。如果想一次拉取所有demo,可以直接运行SOUI仓库代码下的clone_demos.bat来clone,当然前提是已经安装了git命令行工具。
SOUI3仓库:
SOUI3在SOUI2的基础上完善了矩阵变换,移植了Android的插值动画及数值动画,增加了动画光标,动画滚动条等一系列更炫的效果。SOUI3.0还是100%开源,不过开源协议有更新,有兴趣的朋友注意!
编译
- SOUI提供了多种编译方式包括qmake,cmake,nmake等等.我们推荐使用qmake方式生成符合自己的Visual Studio 版本项目工程文件,当然,如果你有兴趣也可以尝试cmake与nmake两种方式
- ####
qmake
(推荐) 使用 git 摘取代码后,进入代码根目录,双击运行"build.bat"1.选择编译版本[1=x86;2=x64;3=x86+x64]:
选择需要编译的cpu架构(eg:1则表示生成win32的可执行文件)2.选择开发环境[1=2008;2=2010;3=2012;4=2013;5=2015;6=2017;7=2005]:
选择对应的 Visual Studio 版本(eg:1表示选择使用 Visual Studio 2008)注意SOUI至少需要Visual Studio 2008 SP1及以上的 Visual Studio 版本3.选择SOUI编译模式[1=全模块DLL;2=全模块LIB;3=内核LIB,组件DLL(不能使用LUA脚本模块)]:
选择生成内核的文件方式(eg:1表示所生成的内核文件及组件均为dll)4.选择字符集[1=UNICODE;2=MBCS]:
(推荐选1)5.将WCHAR作为内建类型[1=是;2=否]:
(推荐选1)6.选择CRT链接模式[1=静态链接(MT);2=动态链接(MD)]:
(根据自大项目需求选择)7.是否为release版本生成调试信息[1=生成;2=不生成]:
(根据自大项目需求选择)open[o], compile[c] "soui.sln" or quit(q) [o,c or q]?
输入英文字母o表示打开工程项目,c表示直接编译debug与release,q表示直接退出当前窗口
- ####
nmake
(目前仅支持编译成dll形式)- 打开编译工具命令控制台窗口,输入"nmake",默认生成 x86 release 的 soui 内核依赖与两个渲染组件(gdi各skia) 图片解码组件为 png 还有 demo 运行程序,CRT为动态链接
- 其它额外编译参数如下:
nmake TYPE=Debug
表示生成 x86 debug 模式nmake ABI=x64
表示生成 x64 的 release 模式,如果需要 debug 模式在后面增加TYPE=Debug
即可nmake CRT=-MT
表示静态链接CRT
- ####
cmake
(目前暂时有问题,等待完善)
论坛
SOUI开发产品不完全列表
- [products.md](./products.md)
QQ群
极力推荐
捐献
- 支付宝帐号[img](./doc/alipay.png) 微信帐号[img](./doc/wechat.png)