我正在学习 C++ 中的一些 GUI API,所以我搜索了很多,看看哪个是最好的。我最终选择了 Qt 或 WinAPI。我读到有人说 Qt 更容易使用,但使用 WinAPI 你可以控制一切。争论继续进行,有人说这是一个公平的交换,一个小的控制,所以它可以变得更容易。现在我想知道,当你选择 Qt 时,你到底失去了什么?是与系统的交互吗?你在 WinAPI 中究竟能做什么,而在 Qt 中却做不到?
问问题
787 次
2 回答
4
你在这里比较苹果和橘子。Qt 是一个 C++ 类库,旨在帮助您实现 GUI,并且是跨平台的,您可以重新编译代码以在不同的操作系统上运行。winapi 是基于 C 的低级 api,用于在 Windows 上进行操作系统调用。您可以仅使用 winapi 创建 GUI 应用程序,Charles Petzold 向您展示了如何,但开发此类应用程序是一种相当惩罚的方法。仅使用 winapi 的“Hello world”应用程序只需数百行代码。
不要考虑只使用 winapi 来实现 GUI,在花了几个月的时间学习如何正确使用它之后,你会非常后悔。有许多工具可以简化这项工作,Qt 只是其中之一,它不仅限于 C++ 语言。当然,Qt 是跨平台的这一事实确实意味着某些 Windows 的特定功能在 Qt 中的直接支持很差或根本不支持。但是,如果需要,您可以选择回退到 winapi。以放弃跨平台支持为代价。
于 2012-10-21T13:09:59.700 回答
3
Qt 最“重量级”的东西是 Shell API、DWM 和 Ribbon UI。还有更多,比如压缩 API。
然而,为这些 API 编写自己的 Qt 风格接口相当容易。
最好的祝福
于 2012-10-21T11:47:09.500 回答