上个月接了个小项目,要搞个带界面的C++工具,结果在选库这事儿上踩了不少坑。最开始寻思着MFC总该靠谱,毕竟是微软亲儿子,结果刚打开Visual Studio就傻眼了——这界面设计器还活在20年前!拖个按钮上去,想改个颜色都得翻半天文档,更别说布局自适应了。折腾一上午连个登录框都摆不整齐,气得我直接关IDE下楼抽了根烟。
第一次尝试:Qt
回家路上刷手机看到有人说Qt好用,立马冲官网下了社区版。装完打开Qt Designer确实舒服,拖控件跟玩拼图似的,菜单栏五分钟搞定。可一写代码就露馅了:信号槽死活连不上! 查了半天才发现是拼错了个字母,这种错误提示还不如不提示……
- 优点:界面拖拽是真方便,自带一堆现成组件
- 槽点:项目编译慢得像老牛拉车,信号槽调试全靠猜
- 实战结果:做出来的界面倒是挺漂亮,但光是绕信号槽的坑就花了三天
不服换wxWidgets
听说wxWidgets更轻量,连夜切过去试水。用CMake配环境倒是顺利,但进了界面编辑器心凉半截——这设计器简陋得跟记事本似的!按钮位置全得靠代码手调,摆个输入框都得算像素。咬牙硬写了200行布局代码,运行效果还不如十年前的老软件。最崩溃的是点关闭按钮时直接闪退,查日志发现是事件绑定漏了……
赌把ImGui
在论坛看到有人吹ImGui适合小工具,抱着死马当活马医的心态试了。不用设计器直接写代码的方式一开始很别扭,但写顺了发现真爽:改文字不用重新编译,变量拖出来直接变滑动条!缺点也很明显:默认丑得没法见人,调样式表调得眼快瞎了,最终效果像上个世纪的产物。
实测
- 要界面好看选Qt(但得做好被信号槽折磨的准备)
- 追求轻量可以忍wxWidgets(建议自带计算器写布局)
- 急着交差用ImGui(前提是甲方不嫌丑)
选了Qt硬着头皮搞完,交差时甲方夸界面专业我还老脸一红。不过昨晚听说这项目要加个3D预览功能...现在正盯着Unreal Engine的下载进度条发抖。





