Dear ImGui 是一个基于 C++ 的零依赖图形用户界面库,它特别适合集成到 游戏 引擎(用于工具)、实时 3D 应用程序、全屏应用程序、嵌入式应用程序或 *** 作系统功能非标准的控制台平台上的任何应用程序中。
代码①:设置:深色样式(左),浅色样式(右)
结果:
代码②:创建一个名为“My First Tool”的窗口,带有一个菜单栏。
结果:
演示:调用 ImGui::ShowDemoWindow() 函数将创建一个演示窗口,展示各种功能和示例。该代码始终可参考 imgui_demo.cpp 。
—END—
开源协议:Apache2.0
开源地址:https://github.com/ocornut/imgui
下面说说自己身边从事PC客户端开发同事用过的界面库。
1、Duilib
我们先来看看官方对其介绍:
Windows下免费开源的DirectUI界面库,由于简约易扩展的设计以及稳定高效的实现被各大互联网公司普遍接受,广泛应用于包括IM、视频客户端、股票行情软件、导航软件、手机辅助软件、安全软件等多个行业的众多pc客户端软件。下面是一张使用duilib开发的仿360的界面效果图:
目前最火的「微信」、「钉钉」,在Windows客户端的开发中,也采用了Duilib。
那么使用有什么注意点呢?一定要注意目前官方已经不再提供维护,各大公司都是自己内部维护一份,所以可能会遇到不少的坑点。
2、BCG
大名鼎鼎的MFC界面库,可以完美的兼容MFC项目,使用它可以很方便的完成项目的换肤,尤其是表格控件很强大,新版本的对office的支持也不错。更多的介绍可以参考官方网站。
3、QT
没错,就是QT,它可以和MFC混合编程的,最重要的是QT不仅比MFC简单,更重要的是他要比MFC强大,目前我司的产品遗留代码,已经在原有MFC的基础上,一步步的替换到QT(PS:目前感觉比较混搭,不太协调),下面是使用QT提供的QSS技术开发的一张UI效果图,还是比较绚丽的。(图片来源:CSDN博主一去、二三里,如有侵权,请联系删除)
目前的QT已经越来越强大了,国产化当头,相信其市场会更加广阔,如果从事PC客户端开发,为了个人走的更远,为了升职加薪,还是建议掌握QT!
回答这个问题之前,我们先来看看常用的C++界面库都有哪些?
1、Qt
放在第一位,也是重点推荐的,绝对是提高生产力,解放双手的好帮手。文档齐全,原生态跨平台支持,API相比MFC不知道优雅了多少倍。目前版本的QSS可以让你很方便的用C++来写界面。盛行国产化的今天,相信Qt的市场会进一步加大。
下图是使用Qt内置的QSS绘制的一个界面换肤效果图,还是很不错的(PS:作品来源于CSDN,博主:一去丶二三里,如有侵权,请随时联系)。
2、MFC
上个世纪的产物,目前就连亲爹微软也已经将他抛弃了,行业更有MFC==没饭吃一说。不过其在军工、电力等一些特有行业还是有一定的市场占有率。自用的话,创建基于对话框模式的下项目,作一些不涉及复杂界面效果的小工具还是很方面的。
比是使用MFC拖拽的一个界面图。
3、第三方界面库,比如Duilib、BCG等。
这里重点介绍下Duilib,一款Windows下免费开源的DirectUI界面库,由于简约易扩展的设计以及稳定高效的实现被各大互联网公司普遍接受,广泛应用于包括IM、视频客户端、股票行情软件、导航软件、手机辅助软件、安全软件等多个行业的众多pc客户端软件。比如大家每天都在用的「微信」、「盘古越狱工具」、「爱奇艺」等等。
下图是基于Duilib开发的一款仿360安全卫士的界面效果。
至于缺点呢,也和突出,早期的版本目前作者已经不再维护了,所以或多或少会有一些坑在等着你,目前各大公司都有其自己维护的版本。
总结
在校学生,建议优选Qt,文档齐全,遇到问题也会很容易的在网络上找到解决办法。MFC这种上个世纪的东西还是让他永久的封存起来吧,至于Duilib等第三方开源库,文档实在是太少了,新手不建议选用。
本文为作者“一个程序员的奋斗史”悟空问答原创文章,未经允许转载、抄袭必究!欢迎分享,转载请注明来源:内存溢出
评论列表(0条)