适用于 Ubuntu、过去、现在和未来的本机 gui 工具包

Jay*_*rby 3 x11 gtk ubuntu qt

我找不到这个问题的明确答案:Ubuntu 的实际的、真实的、原生的、无包装的 gui 工具包是什么?

我可能从根本上误解了它在 linux 中的工作方式,但我知道在 Windows 中,例如,有包含 Windows 的本机窗口窗口的低级 C API,然后是各种包装器(例如我的 C++ 库)暂时不记得名字了)。但实际的原生 API 是 C 的。

在 linux 上,没有本地 gui;它只是一个内核。但是在 Ubuntu 中有 X11、GTK、Qt 等,我不知道真正的原生工具包是什么。我知道至少对于 Ubuntu Touch Canonical 来说,它正在转向 Qt 作为原生工具包,但即使在这种情况下,Qt 会成为真正的原生工具包,还是只是 X11、Mir 或其他东西的包装器?

lib*_*rce 5

Linux 发行版没有“本机工具包”。Qt 和 GTK 调用 XLib,但切换到 Wayland 正在进行中,Mir 对我来说似乎是一个糟糕的主意。无论如何,真正的低级东西是:XLib、Wayland 或 Mir。而 GUI 工具包、GTK、Qt 在这些之上,并且透明地使用正确的后端。wxWidgets 等其他工具包位于平台的“本机工具包”之上。对于 Linux,他们选择了 GTK。

Ubuntu 正在转向 Qt,但以前是 GTK,因此您无法预测它将来会是什么。但是您的应用程序的集成取决于您的用户作为桌面环境运行的内容,因此 Qt 或 GTK 是最佳选择。不过,Qt 更适合 Windows 可移植性。