2010-03-17 201 views
7

是否所有的Qt应用程序都需要安装KDE?如果Qt运行时与GNOME一起安装就足够了吗?我可以让一个Qt应用程序看起来像GNOME下的一个GTK应用程序吗?任何人都可以请我指出一些文章,详细说明Qt,GTK,KDE,GNOME,X之间的关系吗?Qt应用程序是否需要KDE?

+0

在linux上,是否正确? - 应用程序使用Qt来绘制UI。 Qt引用X和X绘制硬件?是否可以简单地启动X服务器并运行没有加载GNOME或KDE的Qt应用程序?如果是这样,怎么样?窗户经理如何进入画面? – BlueSilver 2010-03-17 08:43:01

+0

Qt是直接绘制到X上还是通过窗口管理器完成? Qt使用窗口管理器来绘制窗口,还是窗口管理器使用Qt来渲染窗口? – BlueSilver 2010-03-18 04:57:37

回答

14

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

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

窗口(位置,排序,内容)的状态由X服务器管理,可以通过诸如窗口管理器之类的程序查询和更改。

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

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

Qt可以通过从窗口发送XEvents(调整大小/移动)或设置WM提示(对话框,重要,不可调整大小)与窗口管理器进行通信。这些都通过XServer,如果没有程序正在监听它们,它们将不起作用。

+0

感谢您的信息。我想更详细地了解这些内容。你能否给我提供网上任何资源的链接? – BlueSilver 2010-03-22 09:15:07

+1

您可以尝试: http://www.sbin.org/doc/Xlib/ http://www.freedesktop.org/wiki/ – fgb 2010-03-22 13:39:55

6

好的,反之亦然。从历史上看,KDE(现在)是建立在奇趣Qt C++框架上的。 Qt C++现在是跨平台的,这使得KDE冒险游戏更顺畅。所以很快:KDE取决于Qt :)

12

我经常在我的Mac上运行Qt应用程序,偶尔在Windows上运行,我完全确定Mac和Windows PC都没有安装KDE(也不是Gnome) )。所以,对于你的第一个问题,答案是“绝对不”:-)。

8

Qt只是一个UI库,恰巧KDE是用Qt编写/使用的。

只要您安装了Qt库,您就可以使用Qt编写应用程序并在安装了gnome的情况下运行该应用程序。

是的,你可以让Qt应用程序看起来像gnome应用程序,只要它使用系统正在使用的主题即可。 (不知道如何才知道它一般)我使用几个基于Qt UI的应用程序在ubuntu下用gnome编写的python,他们使用的主题很好。

+2

Nitpicking ...这是Qt(“可爱”),而不是QT(QuickTime™)。 “用Qt编写”听起来不太合适,因为Qt不是一种编程语言。事情用C,C++,英语,法语编写...... KDE *使用*或*链接到* Qt。 – Juliano 2010-03-17 17:51:45

+0

好吧做了一些改变。即QT - > Qt – percent20 2010-03-18 00:19:26

1

当您开发Qt应用程序时,您的选择之一是在应用程序中包含KDE窗口小部件或库。如果你这样做,那么你会需要一些KDE包(在Linux上)或库来安装在你的目标机器上以及Qt上。我不确定Windows或Mac上这些软件的可用性是什么,尽管有人试图将KDE移植到Windows上,但仍在继续。

相关问题