是否所有Qt应用程序都需要安装KDE?如果Qt运行时与GNOME一起安装就足够了吗?我可以让Qt应用程序看起来像GNOME下的GTK应用程序吗?有谁能请我指点一些文章,详细说明Qt,GTK,KDE,GNOME,X之间的关系?
答案 0 :(得分:15)
在X下运行时,Qt应用程序和Window Manager都是X客户端。它们都与XServer通信以绘制,接收输入或操纵窗口。 XServer知道硬件并处理绘制到特定监视器,接收鼠标输入等。
可以在没有桌面环境的情况下运行Qt应用程序,甚至没有窗口管理器(尽管您无法移动/调整程序大小)。窗口管理器等只是正常运行的X程序,它们提供自己的功能,但只能间接地相互交互。它们不依赖于另一个特定的程序运行。
Windows的状态(位置,排序,内容)由X Server管理,可以通过窗口管理器等程序查询和更改。
窗口管理器处理窗口的大小,位置和装饰。它在创建/更改窗口时接收事件,因此可以执行此操作。它在窗口的外部绘制框架,并处理关闭,最大化,窗口拖动等点击。
Qt应用程序在主窗口内绘制并处理窗口内的鼠标点击和按键。
Qt可以通过从窗口发送XEvents(调整大小/移动)或设置WM提示(对话框,重要,不可调整大小)与窗口管理器进行通信。如果没有程序正在侦听它们,它们将通过XServer并且不会产生任何影响。
答案 1 :(得分:12)
我经常在我的Mac上运行Qt应用程序,偶尔在Windows上运行,我完全确定Mac和Windows PC都没有安装KDE(也不是Gnome)。所以,对于你的第一个问题,答案是“绝对没有”: - )。
答案 2 :(得分:8)
Qt只是一个UI库,恰好用Kt编写/使用Qt。
您可以使用Qt编写应用程序,并在安装了gnome的情况下运行它,只要您安装了Qt库。
是的,你可以使Qt应用程序看起来像gnome应用程序,只要它使用系统正在使用的主题。 (不知道如何一般地知道它)我在ubuntu下用gnome使用python编写的几个基于Qt UI的应用程序,他们使用主题就好了。
答案 3 :(得分:6)
嗯,反之亦然。从历史上看,KDE(现在)是基于Trolltech Qt C ++框架构建的。 Qt C ++现在是跨平台的,这使得KDE对许多平台的冒险更加顺畅。所以很快:KDE依赖于Qt:)
答案 4 :(得分:1)
开发Qt应用程序时,您选择的一个选择是在应用程序中包含KDE小部件或库。如果你这样做,那么你需要在目标机器上安装一些KDE软件包(在Linux上)或库以及Qt软件包。我不确定这些是在Windows或Mac上的可用性,尽管有一些尝试将KDE移植到Windows,正在进行中。