我无法找到这个问题的明确答案:Ubuntu的实际,真实,本机,无包装gui工具包是什么?
我可能从根本上误解了它在linux中运行的方式,但我知道在Windows中,例如,有一些低级C API包含Windows的本机窗口,然后是各种包装器(例如C ++库我记不起目前的名字了)。但实际的原生API是C语言。
在linux上,没有本地gui;它只是一个内核。但在Ubuntu中有X11,GTK,Qt等,我不知道真正的原生工具包是什么。我知道至少对于Ubuntu Touch Canonical正在转向Qt作为本机工具包,但即使在这种情况下,Qt将是真正的原生工具包,还是只是围绕X11,Mir或其他东西的包装?
答案 0 :(得分:3)
Linux发行版没有“本机工具包”。 Qt和GTK打电话给XLib,但转向Wayland正在进行中,对我来说,Mir看起来很糟糕。无论如何,真正的低级别的东西是:XLib,Wayland或Mir。 GUI工具包,GTK,Qt都高于这些,并透明地使用右后端。像wxWidgets这样的其他工具包位于平台的“本机工具包”之上。对于Linux,他们选择了GTK。
Ubuntu正在转向Qt,但之前是GTK,所以你无法预测它将来会是什么。但是,您的应用程序的集成取决于您的用户作为桌面环境运行的内容,因此Qt或GTK是最佳选择。不过,Qt更适合Windows的可移植性。