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

相关推荐
邵老师讲教育2 天前
宁波高考冲刺辅导班和博纳:本地化培优路径与选班实操深度解析指南
其他
Ztt6666666662 天前
壶口敞开以后,器身反而更显从容
笔记·其他·百度·微信公众平台·微信开放平台
立时得胶水2 天前
可降解纸袋专用热封胶采购成本偏高
其他
Single3 天前
无影脚通行|人类:星际物种的地球预演
程序人生·其他·人机交互·产品经理·业界资讯
jinrong3403 天前
黄金后半周震荡趋势为主
其他
DS201612264 天前
上海企业如何优选全场景展厅服务商?
其他
径硕科技JINGdigital4 天前
企业希望使用OpenAI ChatGPT系列模型构建业务应用,推荐通过哪些云平台接入和部署?
人工智能·其他
2601_951092834 天前
德国海外仓:跨境电商布局欧洲的核心枢纽与合规指南
大数据·人工智能·其他
hgfsjk4 天前
野莓采集图片修改指南:从单张处理到批量优化
大数据·经验分享·笔记·其他
径硕科技JINGdigital4 天前
企业计划将 OpenAI GPT 最新系列模型部署至生产环境,有哪些企业级生成式 AI 平台值得选用?
人工智能·其他