linux - Qt 应用程序需要 KDE 吗?

标签 linux qt gnome kde-plasma xserver

是否所有 Qt 应用程序都需要安装 KDE?如果 Qt 运行时与 GNOME 一起安装就足够了吗?我能否使 Qt 应用程序看起来与 GNOME 下的 GTK 应用程序完全一样?谁能给我指点一些详细介绍 Qt、GTK、KDE、GNOME 和 X 之间关系的文章?

最佳答案

在 X 下运行时,Qt 应用程序和窗口管理器都是 X 客户端。它们都与 XServer 通信以绘制、接收输入或操作窗口。 XServer 了解硬件并处理向特定监视器的绘图、接收鼠标输入等。

可以在没有桌面环境甚至没有窗口管理器的情况下运行 Qt 应用程序(尽管您将无法移动/调整程序大小)。窗口管理器等只是正常运行的 X 程序,它们提供自己的功能,但仅间接地相互交互。它们不依赖于运行的另一个特定程序。

窗口的状态(位置、顺序、内容)由 X 服务器管理,可以通过窗口管理器等程序查询和更改。

窗口管理器处理窗口的大小、定位和装饰。它在创建/更改窗口时接收事件,因此它可以这样做。它在窗口外部绘制框架,并处理关闭、最大化、拖动窗口等的点击。

Qt 应用程序在主窗口内绘制并处理窗口内的鼠标点击和按键操作。

Qt 可以通过从窗口发送 XEvents(调整大小/移动)或设置 WM Hints(对话框,重要,不可调整大小)与窗口管理器通信。它们通过 XServer,如果没有程序正在监听它们,则不会产生任何影响。

关于linux - Qt 应用程序需要 KDE 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2460127/

相关文章:

linux - 在带有 xmonad 的 gnome 中,当插入显示器或对接笔记本电脑时如何调用脚本?

linux - 无法在 Gnome 中禁用 PrintScreen 键

linux - 无法提供端口 80 express.js 反向代理 nginx

linux - 将 base64 svg 数据解码为 svg 文件

c++ - 在 ubuntu 上配置 Qt 4.6.2 时出错 - "You don' t 似乎在您的 PATH 中有 'make' 或 'gmake'。无法继续”

c++ - Qt 子目录包含类

c - 可以将用户内存中的字符串传递给 printk 吗?

c - Fifo 从未创建

c++ - QNetworkReply::NetworkError(ProtocolInvalidOperationError) 它是什么以及如何修复它?

rust - 如何使用运行Gnome xOrg的Debian调试Nannou的NoAvailableAdapter?