2010-03-17 380 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上,但仍在繼續。

相關問題