所以,我学习了C ++(基础知识)并且我想编写软件,但是我偶然发现了一个我不知道从哪里开始的问题。到目前为止,在理解用于GUI构建的库时,学习C ++似乎是最简单的部分,这个概念我还没有完全理解。我搜索了很多,甚至不能决定是MFC,Win32或Qt上的新人。
Qt C ++ GUI看起来像一个有趣且易于使用的软件,可以快速找到可用类的定义。
使用Visual的MFC我在预先制作的项目文件和许多类的描述中预先看到了很多代码,但是由于我必须上网,所以获取定义会慢一些。
Win32显然是用C语言编写的,并没有更新多少?
很多人也推荐使用Java和C#,但是当我没有C ++并且还有足够的实践时,我对学习一门新语言不感兴趣。
不知道如何解决这个问题。
答案 0 :(得分:9)
如果您设想将程序移植到Windows以外的平台和/或您的实际UI需求相对简单,请使用Qt。但Qt,“有趣”,将您从Windows API中抽象出来,所以如果您发现自己需要访问Qt不提供的API的功能,那么您将成为小溪。因此,如果您使用的是MFC,那么您正在构建一个应用程序,其复杂性或Windows特定功能可能需要更直接地访问Windows API。 MFC在该API上提供了一个精简的抽象层;它的概念或多或少地与API的概念一一对应。
答案 1 :(得分:4)
您想要什么样的GUI?任何框架都应该能够执行任何类型的GUI,但有些框架针对某些工作进行了优化:
我不建议你使用MFC,因为它不适合大多数应用程序,也不使用现代C ++设计,它加载了早期版本的Visual C ++中破解的东西所需的变通方法由于向后兼容性,现在无法动摇这些变通方法。
无论您想要制作何种类型的应用程序,Win32 API实际上都非常有用,因为它定义了UI如何与系统其余部分接口的规则。是的,它是用C语言编写的,但这是为了使它可以从任何编程语言中使用,而不是因为它是一个过时的设计。 Win32 API是高度面向对象的,并且广泛使用多态性。
答案 2 :(得分:2)
您需要注意的几件事情:
如果有一天您想要销售使用Qt编写的程序,您可能需要购买许可证。
如果您觉得GUI应用程序/ GUI编程通常是您想要做的,对于Windows平台,您最好学习WinForms甚至更好的WPF(当然还有C#)。
如果您只是想为学习目的快速为您的C ++程序设置简单的GUI,并且您不太关心学习框架和许可问题,那么只需使用Qt或wxWidgets。
答案 3 :(得分:0)
MFC已过时。如果在Windows上坚持使用C ++,我建议您使用C ++ CLI。 但是我建议你直接学习c#,因为c#是.Net世界的主流语言。 对于GUI,Windows世界现在由WPF主导。