【问题标题】:How frameworks like Qt create GUI, if C++ has no functionality for that?如果 C++ 没有这样的功能,像 Qt 这样的框架如何创建 GUI?
【发布时间】:2013-03-25 17:36:25
【问题描述】:

从这里收到的问题的答案:Graphics using Standard C++ only?

似乎是C++本身没有GUI功能。那么在 C++ 中支持 GUI 的其他框架(如 Qt)是如何做到的呢?他们是否在内部使用其他语言,或者是否有其他用于 GUI 的标准库/协议?

而且我只关心 C++ 语言框架。

谢谢。

【问题讨论】:

  • 他们使用原生 UI 系统(Gnome、Cocoa、Win32)。
  • “C++ 是否有任何内置的 GUI 支持”和“C++ 是否可以调用提供 GUI 支持的第三方库”之间存在差异。第一个答案是否定的,但第二个答案是肯定的。最终,GUI 支持依赖于底层操作系统的能力。而 C++ 完全可以使用它。

标签: c++ user-interface


【解决方案1】:

它们调用操作系统 API 或其他框架中的 API,以创建 GUI 组件。

例如。在 Windows 上,他们调用 Windows CreateWindow API 来创建一个窗口。

当一个框架在多个平台上工作时,它包含针对每个平台的不同 GUI 代码,例如在 Windows 上调用 CreateWindow 或在 Mac 上与 Mac 等效的任何东西。

【讨论】:

  • 谢谢你!现在只是一个小查询,我知道 Qt。但是是否有任何其他框架/库与 Qt 一样好 & 像 LGPL 这样的慷慨许可 & 同时是跨平台的?
  • 这是一个相当主观的问题 :-) 但是 wxWidgets 和 GTK+ 是两种可能性。
  • @MagnusHoff 是的,我愿意!这就是为什么我要求 Qt 的替代品。
  • @RichieHindle 与 Qt 相比,您如何评价 wxWidgets 和 GTK+?
  • @Cool_Coder:我只修改过这三个(我的专业 GUI 经验主要是使用 MFC 和 Windows 窗体)。它们都是稳定的、成熟的和有特色的。请参阅:wiki.wxwidgets.org/WxWidgets_Compared_To_Other_Toolkits(和其他类似页面)进行比较。
猜你喜欢
  • 2011-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-03
  • 1970-01-01
  • 2014-12-31
相关资源
最近更新 更多