我几乎完成了一个关于在C++中使用OOP的课程,我们在该课程中编写的所有程序都是控制台应用程序.我还完成了C编程的大学课程,所以我认为我有扎实的C编程基础,现在是向GUI迈出一大步的时候了.
我做了很多谷歌搜索,每次我阅读更多页面时我都会感到困惑,我了解到过去有太多着名的选项,包括WinAPI和MFC.我试着调查WinAPI,但这看起来非常艰难,需要很多时间,所以我问了导师的建议,他告诉我如果我想编写GUI程序,我最好学习C#或Java,而不是使用速度更快的C++.更好地设计用于驱动程序等低级编程应用程序.所以我在网上搜索了C++是否仍然用于编写现在的应用程序,令我惊讶的是Firefox,谷歌Chrome,Notepad ++以及sourceforge.net上的许多其他GUI应用程序是用C++编写的,与我教师的建议相矛盾.另外我了解到你可以使用QT或GTK库在C++中构建GUI应用程序,但我不知道如何做到这一点,或者如果这是真的.
所以我的问题是,无论学习曲线多么陡峭,现在有效编写GUI程序的最佳选择是什么.我搜索了C++ GUI选项,因为它认为它比Java或C#应用程序更快,如果有人有不同的意见请说明.
Art*_*yom 21
首先,如果你想精益编写独立于平台的GUI,那么C#就不行了.
当您在C++中编写GUI时,有一个工具包的问题,Qt和GTKmm为您提供了非常可靠的跨平台工具包.虽然Qt在Windows上具有比GTKmm更"原生"的外观和感觉,但Java Swing允许您编写非常好的GUI,但它会比用Qt或GTKmm编写的更重,更慢.
现在...... C#/ WPF与Java GUI相同的问题 - 比本机慢,但它也只能锁定你在一个平台上.
我的个人建议始于Qt.
如果您是GUI编程的新手,C#/ WinForms将是您的最佳选择.它相当简单,周围有一个很棒的社区,有很多现成的控件......以及有史以来最好的文档 - MSDN.
当然,如果您正在寻找"如何工作"的深入知识,那么您必须了解Win32 GUI.因此,您可以随时返回C++/MFC.我不建议任何其他C++库(作为Qt),不是因为它们不好,而是因为它们需要良好的启动经验.
我的建议是从WinForms开始,找不到基础并学习创建简单的应用程序.一旦你掌握了,那就深入:)
最快的方法是使用 C# 和 WPF。对于小型应用程序来说,它快速且简单,但在我看来可能相当复杂,并且有很多东西需要学习。至少你是未来的证明,微软最终正在推动 WPF 本身。(Visual Studio 使用它,并且将会有更多版本)唯一真正的缺点是,您只能在 Windows 中运行该应用程序。
如果您确实想要“低级”访问,可以使用许多 C++ 代码的互操作选项。