大家好!大家开发软件是不是苦QT久已?
QT作为跨平台软件开发框架是非常成功的,Linux平台开发客户端产品除了Qt基本上别无选择。虽然GTK也可以,但是GTK一方面很难用,也没有人在windows平台用GTK。
QT确实好,除了QT提供了很多工具帮助开发,Qt的那套基于sigslot的事件机制也是很多开发者选择QT的原因之一。
然而QT也不完美!
首先,商用使用QT需要非常昂贵的授权费;
其次,对于现有的为windows平台开发的软件(比如现在市场上大量的使用MFC开发的软件),想要移植到Linux等平台,如果使用QT,那就等于重新再开发一次。
此外,QT被很多开发者推崇的sigslot机制也并不完美:sigslot用起来很好用,就在于程序员可以在代码的任意位置使用connect来响应任意事件,然而凡是都有两面,这也是sigslot的缺点。由于没有规范,程序员在开发程序的时候任意使用Connect,这将使得后期的代码维护非常困难——对于一个接手一个QT项目的程序员,他不知道一个控件将会在哪里被响应。我自己当年就接手一个这样的项目,我唯一的办法就是通过字符串全代码搜索目标控件名。
现在新的跨平台开发框架终于完成了,那就是SOUI5+SwinX!
SOUI是我持续维护了10+年的一套Windows平台开发框架,已经在很多大厂很多项目中使用(如百度网盘,迅游,富途等)。SwinX是我历时近一年开发的一套Linux平台的Windows APIs,可以认为是一个精简版的Wine(不知道Wine的朋友搜索一下)。
使用SOUI开发客户端好比Android平台使用Java开发Android项目,布局全部使用XML实现,完全不需要代码参与就可以实现99%的布局需求。SOUI拥有完整的控件系统,完整的键盘支持,原生支持高分屏,多语言等,为PC客户端快速开发提供了坚实的基础。SOUI还提供了独家高性能虚表控件,可以实现各种复杂的海量数据展示。
SwinX为SOUI5的跨平台而生,依托SwinX,SOUI的所有功能现在都已经可以完美支持Linux(目前SwinX还不支持macos,后续时间允许也会支持macos)。
上图是demo效果,由于没有找到更好的方式,这里上传的GIF,效果大打折扣了。
git clone https://gitee.com/setoutsoft/soui4
首先需要使用git submodule update --init命令拉取soui5在linux运行时依赖的SwinX库。
拉取SwinX后,可以在swinx下找到build.md,里面有编译时需要安装的依赖库。
sudo apt install cmake git build-essential gdb libcairo2-dev libxcb1-dev libgl1-mesa-dev freeglut3-dev
安装完成这些库后执行
mkdir build & cd build
cmake ..
make
编译成功后使用
./bin/demo
来查看demo执行效果。
Demo界面上有QQ群号,对soui开发有兴趣的朋友可以加QQ群获得技术支持。
SOUI作者:启程软件 2025-2-5
最新版本ui编辑器已经可以在linux平台运行。
Featured Collection
Popular Events
大家好!大家开发软件是不是苦QT久已?
QT作为跨平台软件开发框架是非常成功的,Linux平台开发客户端产品除了Qt基本上别无选择。虽然GTK也可以,但是GTK一方面很难用,也没有人在windows平台用GTK。
QT确实好,除了QT提供了很多工具帮助开发,Qt的那套基于sigslot的事件机制也是很多开发者选择QT的原因之一。
然而QT也不完美!
首先,商用使用QT需要非常昂贵的授权费;
其次,对于现有的为windows平台开发的软件(比如现在市场上大量的使用MFC开发的软件),想要移植到Linux等平台,如果使用QT,那就等于重新再开发一次。
此外,QT被很多开发者推崇的sigslot机制也并不完美:sigslot用起来很好用,就在于程序员可以在代码的任意位置使用connect来响应任意事件,然而凡是都有两面,这也是sigslot的缺点。由于没有规范,程序员在开发程序的时候任意使用Connect,这将使得后期的代码维护非常困难——对于一个接手一个QT项目的程序员,他不知道一个控件将会在哪里被响应。我自己当年就接手一个这样的项目,我唯一的办法就是通过字符串全代码搜索目标控件名。
现在新的跨平台开发框架终于完成了,那就是SOUI5+SwinX!
SOUI是我持续维护了10+年的一套Windows平台开发框架,已经在很多大厂很多项目中使用(如百度网盘,迅游,富途等)。SwinX是我历时近一年开发的一套Linux平台的Windows APIs,可以认为是一个精简版的Wine(不知道Wine的朋友搜索一下)。
使用SOUI开发客户端好比Android平台使用Java开发Android项目,布局全部使用XML实现,完全不需要代码参与就可以实现99%的布局需求。SOUI拥有完整的控件系统,完整的键盘支持,原生支持高分屏,多语言等,为PC客户端快速开发提供了坚实的基础。SOUI还提供了独家高性能虚表控件,可以实现各种复杂的海量数据展示。
SwinX为SOUI5的跨平台而生,依托SwinX,SOUI的所有功能现在都已经可以完美支持Linux(目前SwinX还不支持macos,后续时间允许也会支持macos)。
上图是demo效果,由于没有找到更好的方式,这里上传的GIF,效果大打折扣了。
代码获取:
git clone https://gitee.com/setoutsoft/soui4
Linux(UOS)平台编译
首先需要使用git submodule update --init命令拉取soui5在linux运行时依赖的SwinX库。
拉取SwinX后,可以在swinx下找到build.md,里面有编译时需要安装的依赖库。
sudo apt install cmake git build-essential gdb libcairo2-dev libxcb1-dev libgl1-mesa-dev freeglut3-dev
安装完成这些库后执行
mkdir build & cd build
cmake ..
make
编译成功后使用
./bin/demo
来查看demo执行效果。
Demo界面上有QQ群号,对soui开发有兴趣的朋友可以加QQ群获得技术支持。
SOUI作者:启程软件 2025-2-5