Avatar ·

Linux 的原生 GUI API 是什么?与 WinAPI 有何不同?

大家好。我是一名初学 C++ 的开发者,正在从 Windows 迁移到 Linux。在 Windows 上,我习惯用 WinAPI 编写简单的窗口应用程序——一切都很直观:通过 CreateWindow 创建窗口,在循环中处理消息,绘制按钮和输入框。这些都是操作系统的一部分,不需要任何第三方库。 现在我在 Ubuntu 上,想编写一个类似的简单 C++ 程序——一个带有几个按钮和文本输入框的窗口。但我感到困惑:据我所知,Linux 没有一个统一的“原生 API”用于 GUI。人们提到 Xlib、GTK、Qt,但它们并不相同。Xlib 是 X Window System 的低层协议,但它不提供现成的控件(按钮、输入框)。GTK 和 Qt 是跨平台框架,从某种意义上说它们不是“原生的”,因为它们不包含在 Linux 内核中。 问题:那么什么才算是 Linux 的原生 GUI API?是否有直接等同于 WinAPI 的东西?如果我想用纯 C++ 编写一个不依赖 GTK 的程序...