我很喜欢学习C++中的一些GUI,所以我搜索了很多,看看哪一个是最好的。我最终选择了Qt或WinAPI。我读到一些人说Qt更容易使用,但是使用WinAPI你可以控制一切。争论继续进行,有人说这是一次公平的交换,一小部分控制,所以它可以变得更容易。现在我想知道,当你选择Qt时,你到底失去了什么?是与系统的交互吗?在WinAPI中,你可以做哪些在Qt中不能做的事情?
发布于 2012-10-21 13:10:00
你在这里比较苹果和橙子。Qt是一个C++类库,旨在帮助您实现图形用户界面,并且是跨平台的,您可以重新编译您的代码以在不同的操作系统上运行。winapi是基于C的低级api,用于在Windows上进行操作系统调用。Charles Petzold向您展示了如何使用winapi创建GUI应用程序,但对于开发这样的应用程序来说,这是一种相当痛苦的方法。一个只使用winapi的"Hello world“应用程序只有几百行代码。
不要只考虑使用winapi来实现GUI,在花了几个月的时间学习如何正确使用它之后,您会非常后悔的。有许多工具可以简化这项工作,Qt只是其中之一,它并不局限于C++语言。当然,Qt是跨平台的这一事实确实意味着某些Windows的特定功能在Qt中的直接支持很差或根本不受支持。但是,如果需要的话,您可以选择回退到winapi。以放弃跨平台支持为代价。
发布于 2012-10-21 11:47:10
Qt最“重”的东西是Shell API、DWM和Ribbon UI。还有更多,比如压缩API。
然而,为这些API编写您自己的Qt风格的接口是相当容易的。
诚挚的问候
https://stackoverflow.com/questions/12992541
复制