SOUI Logo
SOUI 5.0
轻量级、高性能、跨平台的C++ GUI开发框架
立即下载 Gitee仓库 GitHub仓库 API文档(Doxygen生成)

为什么选择SOUI?

SOUI是一个基于C++的轻量级GUI开发框架,支持Windows、Linux和即将支持的MacOS平台。它提供了丰富的UI组件和高效的渲染引擎,帮助开发者快速构建美观、高性能的桌面应用程序。

跨平台支持

一套代码,多平台运行。目前支持Windows和Linux。现有基于SOUI开发的Windows下的软件,最快10分钟就可以支持linux。MacOS支持正在开发中。

高性能渲染

优化的渲染引擎确保UI流畅运行,即使在低配置设备上也能提供良好的用户体验,可以选择gdi也可以选择Skia。

体积小巧

功能模块采用插件式设计,按需装配:最小配置编译后体积可以<2M。

丰富的组件

提供按钮、列表、树形控件、表格等常用UI组件,满足大多数应用开发需求。丰富的虚表支持,解决大量数据展示性能问题。

XML布局

支持XML定义UI布局,实现界面与逻辑分离,便于维护和修改。支持多种布局模式:线性布局,相对布局,网格布局等,轻松解决布局问题。

开全开源

所有代码全部开源,包含SOUI核心代码及所有组件;也包括SOUI的跨平台支持模块SwinX,所有代码尽在掌控。

案例展示

以下是一些使用SOUI开发的实际应用案例,展示了框架的强大功能和灵活性。

迅游加速器

迅游游戏加速器

基于SOUI开发的界面效果非常炫的游戏加速器,具有精美的UI界面和流畅的动画效果。除迅游,还有很多游戏加速器都选择使用SOUI作为UI引擎

视频播放器

视频播放器

深受用户喜爱的视频播放器,同样具有精美的UI界面和流畅的动画效果,和视频播放完美结合。

百度网盘

百度网盘

使用SOUI开发的百度网盘,SOUI支持起百度网盘的各种复杂交互。

查看更多案例

获取SOUI

SOUI可通过以下方式获取:

获取源代码

快速开始

以下是一个简单的SOUI应用程序示例:

#include "souistd.h"

class CMainDlg : public SOUI::SHostDialog {
public:
    CMainDlg() : SHostDialog(_T("LAYOUT:XML_MAINWND")) {}
    
    void OnClick() {
        SOUI::SMessageBox(NULL, _T("Hello SOUI!"), _T("Greeting"), MB_OK);
    }
    
    EVENT_MAP_BEGIN()
        EVENT_ID_COMMAND(1, OnClick)  // 按钮ID为1时触发OnClick
    EVENT_MAP_END()
};

int WINAPI _tWinMain(HINSTANCE hInst, HINSTANCE, LPTSTR lpCmdLine, int nShowCmd) {
    SOUI::SApplication *theApp = new SOUI::SApplication(hInst);
    ... //config app
    ... //init soui resource
    {
    	CMainDlg dlgMain;
    	dlgMain.DoModal();
    }
    delete theApp;
    return 0;
}

技术文章

了解SOUI的最新开发动态、技术解析和最佳实践。

推荐一个对标QT的国产跨平台软件开发框架SOUI

本文介绍了SOUI在跨平台开发的便利...

阅读全文 »

SOUI5开发环境配置

分享SOUI5.0的编译配置和SOUI4的编译配置方面的区别..

阅读全文 »

认识soui4js(第2篇):代码编辑及调试

介绍如何使用soui4js,使用js在vscode中开发媲美原生app的客户端软件的开发调试过程...

阅读全文 »
访问技术博客

社区支持

加入我们的社区,获取帮助和分享经验: