卡卷网
当前位置:卡卷网 / 每日看点 / 正文

C++除了Qt还有什么GUI库?

作者:卡卷网发布时间:2024-12-20 00:45浏览数量:92次评论数量:0次

在下来劝退的,能救一个是一个,曾经痴迷C++编程,对各种软件的界面总想自己实现出来,后来发现这是一条死路,千万别走!

C++除了Qt还有什么GUI库?  第1张

一般情况下,对界面实现感兴趣的,大多数都是初入门编程,忍受不了一坨黑的白字方框框,想要弄点酷炫交互出来的东西,然后可以在基友和妹子面前狠狠装上一拨。这想法不能说不对,甚至可以说没有这想法成不了大神。在下当年也是如此,一群菜鸡同学还在机房捣鼓锟斤拷的时候,在下已经快速使用Qt Creator拖拽完可以交互输入的界面程序了,那种被人围着喊大神的感觉,就一个字,爽!不过现在回想起来这真的是一条大弯路啊。

C++除了Qt还有什么GUI库?  第2张

先回答正题,Qt在C++开发界面领域这块,没有对手,天下无敌,遥遥领先的那种,最能和Qt Widget打一打的应该是wxWidgets,不过遗憾的是wxWidgets不出意外是会被Qt干出屎来的。。。(在下个人其实蛮喜欢wxWidgets这个东西的)话说回来,这个问题应该还有找Qt的替代品的目的在里面吧?下面分几点说说能替代的:

  • 开发绿色便携桌面小工具,这个方面推荐使用Dear ImGUI,很糙很猛,就是一把梭写到底,既然是做便携绿色工具,那肯定也不会追求什么美观酷炫的对吧,而且这个库可以静态链接产物很小,还是友好的MIT开源协议,不像Qt分基础的LGPL部分和收钱的商业模块,用ImGUI做东西快的同时还不用担心像Qt一样明天收到一张律师函。

C++除了Qt还有什么GUI库?  第3张

Example of Dear ImGUI

  • 开发嵌入式程序界面,Qt在这块上必须购买商业授权,除非你搞的是开源项目,所以找替代品就非常重要了,在此推荐LVGL这个库,虽然这库九成源码是C的,但是都搞嵌入式了,你要是说你不会C只会C++,好像也没有这么一回事对吧。而且这库完全兼容C++,也是友好的MIT开源协议,学习资料也算得上丰富,选这个不会错的。

C++除了Qt还有什么GUI库?  第4张

  • 开发传统桌面应用程序(再次劝退),就像在末法时代强行用古法修仙一样,这个方面没有其它的C++界面库能打,wxWidgets勉勉强强能战上几个回合,如果算上UE的话可以一战,不过那样赛道就不一样了。推荐多看看其它编程语言的生态,那个C#的AvaloniaUI真的也不错的,如果追求开发快效果炫不求性能,Electron也请求出战。爱护自己的头发是自己的事,别人的内存爆了电脑卡了与己何干呢。

C++除了Qt还有什么GUI库?  第5张

再说说其他的一些库,虽然有人推荐了,但是缺点都硬是没说啊,在下列些观点吧。像gtkmm(GTK的C++绑定)这样的,抛开国内生态差没人玩不说,虽然外观很独特而且现在用vcpkg也没有以前很难在Windows电脑上安装环境的问题了,但是你总不能说就是只给Linux桌面写应用吧,几乎搞客户端默认都是面向Win的,那问题就来了,这风格就是非常不和谐,就算弄得贼漂亮也是不和谐,然后你看你的客户接不接受吧。拎个MFC出来,介绍这个的怕不是往死里坑人,除非考古爱好者,不然实在想不出来4202年用这个是要干啥,真有这闲工夫学MFC那还不如折腾wxWidgets,至少wxWidgets还送个跨平台功能。还有像FLTK那种的,简陋到各种复杂一点的交互全要自己动手丰衣足食,而且巨难看,做出来的东西就像是上世纪九十年代一样。

C++除了Qt还有什么GUI库?  第6张

不多说了,若是学生,做界面稍微学学能弄几个按钮输入框出来就完了不要太投入,真到了需要高性能界面实现的时候你也会去花时间自学的,花精力学界面真不如多背上几篇八股文。如果当年有人劝退我搞界面多好啊(现已出坑)。

END

免责声明:本文由卡卷网编辑并发布,但不代表本站的观点和立场,只提供分享给大家。

卡卷网

卡卷网 主页 联系他吧

请记住:卡卷网 Www.Kajuan.Net

欢迎 发表评论:

请填写验证码