[其他] GNome KDE / GTK GTK+ Qt / GDK / Glib

GTK, GTK+, and Qt are GUI toolkits. These are libraries that developers use to design graphical interfaces, all running on top of the X Server or Wayland. These are things that you need to install as dependencies. They're the Linux "equivalent" to Windows' GDI/GDI+. When an application uses any of these, it will usually have a general "look and feel".

GNOME and KDE are Desktop Environments. GNOME primarily uses the GTK+ toolkit, while KDE primarily uses the Qt toolkit. There are applications designed for GNOME or KDE, such as a settings menu or a default music player, usually in the appropriate toolkit. These Desktop Environments have a set of utilities/window managers/design specification to create a more unified desktop. You can mix the two if you feel like it, but you may run into issues with colliding standards and applications (which is a bit more common on systems like Arch).

Unity uses many of the GNOME utilities and backends (Nautilus, Rhythmbox, gvfs, etc.), so Unity is more GNOME than KDE.

One A GNOME program uses multiple libraries to form a hierarchy:

The Gnome library is at the top level, including help routines, classes, and special widgets, and provides an infrastructure for your application.

The second layer is GTK, which is part of the GTK + library. This library provides a basic toolkit and widget to create GUI applications. Most GUIs are written directly with GTK. GTK also provides a powerful object system for the GNOME library.

The next layer is GDK, which is simply packaged with the X function library, which is only used when we make special drawings or set the special properties of the window.

The bottom layer is glib, a utility library for C, which includes portability and some utility functions, as well as some container classes, such as lists, variable groups, variable-length strings, hashes (seemingly Hassi), caching, an event loop, and other useful constructs

小结:

  • GLib 是基础对象库,不涉及任何图形绘制。
  • GDK 是图形绘制库,如果想定制化widget,则再此层实现。不太需要关心。
  • GTK GTK+ 和 Qt 都是 GUI 库,同级别。设备事件管理和窗口管理都在在这一层。
  • GNome 和 KDE 是对 GUI 库的二次封装。

一般开发触及到 GNome 和 GTK/GTK+ 即可。

相关推荐
Shining059610 分钟前
AI 编译器系列(五)《拓展 Triton 深度学习编译器——DLCompiler》
人工智能·深度学习·学习·其他·架构·ai编译器·infinitensor
老陈头聊SEO1 小时前
AI在SEO领域关键词优化的新方法解析与应用实例
其他·搜索引擎·seo优化
一秒推GEO14 小时前
一秒推AI投喂助力企业实现智能化AI优化服务的新纪元
其他
承渊政道1 天前
ToClaw是什么?一句话:装在云端的OpenClaw
windows·科技·学习·其他·macos·claw
COHESION_20102 天前
技术解析|Tulsimer树脂实战:异丙醇除硼精准破局G5标准,赋能电子级材料国产化
经验分享·其他
老陈头聊SEO3 天前
优化SEO效果的长尾关键词运用与关键词调整策略分析
其他·搜索引擎·seo优化
老陈头聊SEO3 天前
AI提升SEO关键词策略的创新应用与实践指南
其他·搜索引擎·seo优化
老陈头聊SEO4 天前
生成引擎优化(GEO)提升数字内容创作效率与用户体验的实践指南
其他·搜索引擎·seo优化
风储wind-专业frequency4 天前
双馈风机虚拟同步机VSG一次调频matlab/simulink
其他
一秒推GEO4 天前
如何借助一秒推AI投喂实现高效的SEO优化提升?
其他