C++中的GUI?还是选择C#和Java?哪个更好?

15
我即将完成一门关于使用C++进行面向对象编程的课程,我们在这门课程中编写的所有程序都是控制台应用程序。我还完成了一门大学C编程课程,所以我认为我有扎实的C编程基础,现在是迈向GUI的一个重要步骤。
我做了很多搜索,每次阅读更多页面时我就越来越困惑,我了解到过去有两个著名的选项,即WinAPI和MFC。我试图研究WinAPI,但它似乎相当困难并且需要很多时间,因此我询问了我的导师意见,他告诉我,如果我想编写GUI程序,最好学习C#或Java而不是使用C++,虽然C++更快,但更适用于像驱动程序等低级别编程应用。
因此,我在网上搜索了一下,想知道C++是否仍然用于编写现代应用程序,令我惊讶的是Firefox、Google Chrome、Notepad++和sourceforge.net上的许多其他GUI应用程序都是用C++编写的,与我的导师的建议相矛盾。此外,我了解到可以使用QT或GTK库来构建C++ GUI应用程序,但我不知道该如何操作或者这是否真实可行。
我的问题是,无论学习曲线有多陡峭,现在有哪些最好的可用选项能够高效地编写GUI程序。我搜索了C++ GUI选项,因为我认为速度会比Java或C#应用程序更快,如果有人有不同的意见,请说出来。

在GUI方面,"快速"是指什么? - n0rd
WinAPI,不是API。API是一个通用术语。 - el.pescado - нет войне
我是指WinAPI。感谢您的纠正。 - Ahmed
@n0rd:我所指的速度是指程序的一般响应速度,就像 Firefox 刚发布时比 IE 快得多。 - Ahmed
1
我认为Firefox的响应能力取决于所使用的有效算法,而不是GUI工具包或编程语言。虽然C++更接近底层,通常情况下应该更快,但在C++、Java和C#中实现相同算法时,你不会注意到执行速度上的主要差异。 - n0rd
13个回答

0
如果您坚持使用C++,请尝试Win32或GTK。请参见this thread。 否则,我建议您尝试其他语言,如Python,用于应用程序的GUI部分:保留其余部分使用您喜欢的语言并进行包装。不要忘记C++的最佳功能:与C的二进制兼容性。

0
如果你已经掌握了C++的基础并想要进一步扩展,我建议从Qt开始。它的发行版包括图形用户界面设计师和Asistant——文档浏览器。还有一个独立的产品Qt Creator——专门为Qt定制的完整IDE,集成了所有东西(包括编译器)。所有这些都是免费的,并且非常容易设置。其中包括非GUI类,用于解决常见的编程问题(如容器、变量类型等)。你可以在几个小时内将你的控制台应用程序转换为GUI,并决定是否继续学习它或尝试其他工具包。
只需访问http://qt.nokia.com/downloads下载SDK,安装它,你就有了开始编码的一切。

0

QT很好,但我已经尝试了JUCE,现在我认为它更好。

JUCE快速、干净且易于使用。您可以将其与Eclipse和GCC(以及minGW)集成,使用调试功能(在Eclipse下使用gdb)等等。

您可以在Windows、Linux、OSX、IOS和Androis中编译代码而不需要进行太多更改。

请关注他们的网站: http://www.rawmaterialsoftware.com/juce.php

如果您会说西班牙语,请查看此链接: http://juceratot.eshost.es

敬礼


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接