DungDaj
发表于 2021-9-3 22:13
首先题主用什么操作系统?我等了五分钟,花儿都谢了,题主也没告诉我...
那我们先说说有哪些跨平台的GUI库,其实我也建议从跨平台库入手,可以免去换了个操作系统就不会写GUI的烦恼。
Qt (https://www.qt.io/)
Qt是非常成熟的跨平台GUI库。优点是在每个平台都是原生的外观(Native Look and Feel),并且有很多附加的库,Layout Manager也是这个库的一个重要易用特性;缺点是编译有点麻烦,需要预编译,还有一点是包会比较大一些,静态链接需要不少精力去做。仍然首推Qt。
我写过的一个小工具:https://github.com/limingjie/IBM_Blue_Pages_ToolFLTK (https://www.fltk.org/)
一个轻量级的跨平台GUI库,但是不是原生外观。如果追求轻量的可执行文件和静态链接,对UI的功能要求不多,可以考虑。
还是我写的小工具:https://github.com/limingjie/pdf_to_imagelibui (https://github.com/andlabs/libui)
这是一个相对比较年轻的库,原生外观。在Golang社区里目前是排名最高的,内核是C写的,有C++和非常多语言的binding。不过目前还处在Alpha。准备在Golang下就用这个库了。
我的小工具还没写完。。。wxWidgets,我故意不发链接,这个库浪费了我不少时间,大概10多年前的时候准备用它写个工具,结果各种bug,后来放弃改用Qt了。OpenGL... 其实这也是一个不错的办法,什么都自己画。其实也有好些GUI是基于OpenGL的。好处是在显卡性能过剩(游戏除外)的今天,显示效果绝佳。我本科的毕设是用这玩意儿写的。
不同操作系统下
Windows - Win32API, MFC, .Net,我都写过一些,前两个比较麻烦,后边一个依赖不好解决。Mac - 首推Cocoa吧,我没用过。我还是比较喜欢跨平台库,尤其是想做个工具给身边的朋友用,他们大多是用Windows。Linux - 首推就是QT,也可以用GTK,GTK的特点就一个字,丑!