带C++的图形用户界面 ?还是C#和Java要走的路?[已关闭]

2022-09-03 09:27:50

我几乎完成了一门关于在C++中使用OOP的课程,我们在该课程中编写的所有程序都是 控制台应用程序 。我还完成了C编程的大学课程,所以我认为我有扎实的C编程基础知识,现在是时候向GUI迈出一大步了。

我做了很多谷歌搜索,每次我阅读更多页面时,我都会变得更加困惑,我了解到过去有太多着名的选择,即WinAPI和MFC。我试图研究WinAPI,但它似乎非常困难,需要很多时间,所以我询问了我的老师的建议,他告诉我,如果我想编写GUI程序,我最好学习C#或Java,而不是使用C++,它更快,但更好地设计用于低级编程应用程序,如驱动程序等。因此,我在网上搜索了C++是否仍在使用,并且令我惊讶的是,Firefox,Google Chrome,Notepad ++和许多其他GUI应用程序 sourceforge.net 都是用C++编写的,这与我的老师的建议相矛盾。另外,我了解到您可以使用QT或GTK库来构建C++ GUI应用程序,但我不知道该怎么做,或者这是真的。

所以我的问题是,无论学习曲线有多陡峭,现在有效编写GUI程序的最佳选择是什么。我用谷歌搜索C++ GUI 选项,因为它认为它会比 Java 或 C# 应用程序更快,如果有人有不同的意见,请说明它。


答案 1

首先,如果你想倾向于编写独立于平台的GUI,那么C#是行不通的。

当你用C++编写GUI时,存在一个工具包的问题,Qt和GTKmm为你提供了非常可靠的跨平台工具包。虽然Qt在Windows上比GTKmm具有更多的“原生”外观和感觉,但Java Swing也允许您编写非常好的GUI,但它比使用Qt或GTKmm编写的GUI更重,更慢。

现在。。。C#/WPF 与 Java GUI 存在相同的问题 - 比本机慢,但它也只将您锁定在一个平台上。

我的个人建议从Qt开始。


答案 2

如果您不熟悉 GUI 编程,C#/WinForms 将最适合您。它相当简单,周围有一个很棒的社区,有很多现成的控件。和有史以来最好的文档 - MSDN。

当然,如果您正在寻找有关“事物如何工作”的深入了解,那么您必须了解Win32 GUI。因此,您可以随时返回到C++ / MFC。我不会建议任何其他C++库(如Qt),不是因为它们很糟糕,而是因为它们需要良好的经验才能启动。

我的建议是从WinForms开始,而不是基础,并学习创建简单的应用程序。一旦你掌握了这一点,就要更深入地:)


推荐