快捷搜索:  汽车  科技

windows窗口界面设计,常用的WindowsC软件界面库介绍

windows窗口界面设计,常用的WindowsC软件界面库介绍Qt Creator是一个用于QT开发的轻量级跨平台集成开发环境,它提供首个专为支持跨平台开发而设计的集成开发环境,并确保首次接触QT框架的开发人员能迅速上手和操作。另外,包含了一套用于创建和测试基于QT应用程序的高效工具。QT是由Qt Company公司于1991年开发出来的跨平台C 图形用户界面应用程序开发框架。相信很多开发人员都听说或使用过这个框架,和MFC类似,有一套支持可视化的UI设计工具,组件众多、功能强大,只需简单拖拽控件、编辑控件属性,即可快速构建一个可视化桌面应用程序,所见即所得。对于Windows开发人员,还是要学会使用MFC的,即使商用项目中不使用MFC,但在日常工作中会编写一些测试用的工具,可能会用到的。另外,通过编写MFC代码,也能加深对Windows窗口的绘制机制及消息处理机制的理解。我们的视频会议 即时聊天项目组在若干年前用的也是MFC,MFC在某些场景下有

最近悟空问答上有不少人问,有哪些好用的C 界面库,我是做Windows应用程序开发的,做过很多UI客户端程序,对这一点比较了解,在此结合这些年的开发经验,给大家推荐几款常用的、免费的C 界面库,以供参考。

1、微软的MFC

windows窗口界面设计,常用的WindowsC软件界面库介绍(1)

我刚毕业那会,基本用的都是MFC,感觉相对来说是比较简单的。

MFC是微软基于Windows系统开发的一套经典C 桌面程序开发框架,集成在微软的Visual Studio开发环境中,只要下载安装Visual Studio即可使用。自带界面可视化设计工具,提供编辑框、按钮、等多种常见控件,只需简单将控件拖拽到窗口中,编辑控件属性,即可快速构建一个GUI界面程序。为开发人员节省了编写代码时间,对于初学者,入门相对比较简单。MFC在早期桌面开发中非常流行,一直扮演着重要角色。但设计思想太过复杂、使用起来不够灵活,只是提供普通的、没有美化的窗口或控件,如果要做界面美化,需要对窗口和控件进行自绘。这需要做大量的工作,需要处理很多窗口消息,重新实现部分窗口绘制逻辑,即便是这样,也很难实现绚烂多彩的界面。MFC正在逐渐走向没落,仅有一些老项目还在使用。

对于Windows开发人员,还是要学会使用MFC的,即使商用项目中不使用MFC,但在日常工作中会编写一些测试用的工具,可能会用到的。另外,通过编写MFC代码,也能加深对Windows窗口的绘制机制及消息处理机制的理解。

我们的视频会议 即时聊天项目组在若干年前用的也是MFC,MFC在某些场景下有很大的弊端,比如在实现类似QQ的聊天窗口时,每个控件都是一个实实在在的窗口,每个窗口会用到若干个GDI对象〔用于窗口绘制〕,所以一个聊天窗口可能会用到200多个GDI对象,在测试人员做极限测试时,会打开几十个甚至上百个聊天窗口,这样程序总的GDI对象就会增长到上万个。做Windows程序开发的老程序员应该都知道,如果一个程序的GDI对象达到或接近1万个后,就会导致窗口绘制异常,程序出现崩溃。所以后来我们下决心将MFC替换掉了。当然,除了打开多个窗口会导致程序的总GDI对象达到上万个,程序运行过程中如果有GDI对象泄露,也会导致GDI对象不断增长。

2、跨平台的QT

windows窗口界面设计,常用的WindowsC软件界面库介绍(2)

QT是由Qt Company公司于1991年开发出来的跨平台C 图形用户界面应用程序开发框架。相信很多开发人员都听说或使用过这个框架,和MFC类似,有一套支持可视化的UI设计工具,组件众多、功能强大,只需简单拖拽控件、编辑控件属性,即可快速构建一个可视化桌面应用程序,所见即所得。

Qt Creator是一个用于QT开发的轻量级跨平台集成开发环境,它提供首个专为支持跨平台开发而设计的集成开发环境,并确保首次接触QT框架的开发人员能迅速上手和操作。另外,包含了一套用于创建和测试基于QT应用程序的高效工具。

QT开源社区活跃、官方资料众多,可以尝试着去学一学。

如果你开发的界面程序要支持跨平台,QT是个不错的选择。现在很多视频监控厂商(比如海康威视和大华)都采用QT来开发他们的UI客户端应用程序,因为他们既要支持Windows系统,也要支持在Linux国产化系统上运行。

国家近几年一直在推国产化系统,比如以前的中标麒麟系统、银河麒麟系统,都是基于Linux深度改造优化的操作系统。现在两家公司合并了,推出了UOS统一操作系统,我们公司也于去年开发了跑在这些国产化Linux的视频会议软件,使用就是QT界面库。

3、免费开源的Duilib

windows窗口界面设计,常用的WindowsC软件界面库介绍(3)

Duilib是一个Windows下基于DirectUI技术的免费开源界面库。DirectUI技术和思想是由微软提出来的,并广泛的应用到微软的产品中。大家熟知的MSN Messager聊天软件的界面就是使用DirectUI实现的。

Duilib也是国内首个开源的DirectUI界面库,被众多知名软件广泛使用。Duilib界面库使用XML来描述界面风格和界面布局,可以很方便的构建高效绚丽的、非常易于扩展的界面,从而很好的将界面和逻辑分离,同时易于实现各种超炫的界面效果如换色,换肤,透明等。网上关于Duilib界面库的资料和demo代码越来越多,有兴趣的可以学习一下。

现在很多大公司也在使用这个界面库,比如百度云管家(百度网盘)、爱奇艺PPS客户端、微信PC客户端、拼多多PC客户端、ZOOM视频会议客户端、Kugou音乐、酷我音乐盒、2345好压压缩软件等。他们在使用这个界面库后,对这个界面库做了深度改造和优化。QQ现在的界面也是基于DirectUI思想设计的。

我们公司的多个软件产品也在用这个界面库,当然我们做了很多改进。

其他界面库

windows窗口界面设计,常用的WindowsC软件界面库介绍(4)

除了上面讲到的三种常见的免费界面库之外,还有一些其他的免费的或收费的界面库。比如支持类似于微软office 界面风格的BCGControlBar界面库,VS2008开始微软在MFC中引入了BCG的部分界面,效果还不错,以前的软件中用过。还有WTL、WPF、Skin 、SOUI、LibUISDK、DSkinLite、wxWidgets等。这些界面库也有相关的资料、教程和demo代码,介绍的都比较详细,有兴趣的话,可以去看一下。

最后希望以上分享的内容能对你有所帮助,也欢迎大家留言、评论进行补充,也可以和我在线交流。

猜您喜欢: