[其他] 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+ 即可。

相关推荐
数字体验运营官42 分钟前
内容中台重构企业内容管理的价值维度与实施路径
其他
Baklib-企业帮助文档3 小时前
知识库管理系统驱动企业知识体系重构与智能协作路径解析
其他
xjxijd5 小时前
AI 为金融领域带来了什么突破?
人工智能·其他
Baklib-企业帮助文档10 小时前
企业知识管理平台重构数字时代知识体系与智能服务网络
其他
数字体验运营官13 小时前
Baklib智能平台:数据驱动下的企业知识安全与协作
其他
安德胜SMT贴片17 小时前
广州SMT贴片加工如何优化生产成本与品质管控?
其他
数字体验运营官1 天前
Baklib知识中台架构迭代与服务效能升级
其他
天拓四方_bjttsf2 天前
通过TDE工业通讯网关解决设备通讯问题
物联网·其他
好运妙妙3 天前
高子昂医编---23岁,医疗编上岸,正式开启养老生活
经验分享·其他·职场和发展·学习方法
Baklib梅梅4 天前
内容中台重构企业内容管理流程驱动智能协作升级
其他