天天看點

GUI概述GUI簡介Linux的桌面環境KDE、GNOME開發所使用的庫

GUI簡介

GUI(Graphics User Interface),中文名稱為圖形使用者界面,是指采用圖形方式顯示的計算機操作使用者界面,是計算機與其使用者之間的對話接口,是計算機系統的重要組成部分。

早期,電腦向使用者提供的是單調、枯燥、純字元狀态的“指令行界面(CLI)”,也有人稱之為字元使用者界面(CUI),如圖 1.1所示。

GUI概述GUI簡介Linux的桌面環境KDE、GNOME開發所使用的庫

圖 1.1 字元使用者界面

由于字元使用者界面的操作方式需要使用者死記硬背大量的指令,這對于普通使用者而言非常不便。後來取而代之的是可以通過視窗、菜單、按鍵等方式來友善地進行操作。

70年代,施樂公司 Xerox Palo Alto Research Center (PARC) 的研究人員開發了第一個 GUI 圖形使用者界面,開啟了計算機圖形界面的新紀元。這之後,作業系統的界面設計經曆了衆多變遷,OS/2, Macintosh, Windows, Linux, Mac OS, Symbian OS, Android, IOS各種作業系統将 GUI 設計帶進新的時代。

GUI概述GUI簡介Linux的桌面環境KDE、GNOME開發所使用的庫

圖 1.2 施樂公司的第一個 GUI 圖形使用者界面

GUI概述GUI簡介Linux的桌面環境KDE、GNOME開發所使用的庫

圖 1.3  Windows Xp(2001)

GUI概述GUI簡介Linux的桌面環境KDE、GNOME開發所使用的庫

圖 1.4  Mac OS X(2001)

GUI概述GUI簡介Linux的桌面環境KDE、GNOME開發所使用的庫

圖1.5  Android

GUI概述GUI簡介Linux的桌面環境KDE、GNOME開發所使用的庫

圖1.6  IOS

現在我們幾乎可以在各個領域看到GUI的身影,如手機通訊移動産品, 電腦操作平台, 車載系統産品, 智能家電産品, 遊戲産品等等。詳情,請看GUI發展史。

Linux的桌面環境

Linux有一套簡便易學的圖形使用者接口( GUI ),使用者使用滑鼠就可以完成大多數工作。在Linux中,GUI由視窗系統,視窗管理器,工具包和風格等幾個部分組成。視窗系統用于組織顯示屏上的圖形輸出,視窗管理器用于對視窗的操作如最小化等,工具包是用于程式設計界面的庫,風格是應用程式的使用者界面。

KDE 與GNOME是目前Linux / UNIX系統最流行的圖形操作環境。從上個世紀九十年代中期至今,KDE和GNOME都經曆了将近十年的漫漫曆程,兩者也都從最初的設計粗糙、功能簡陋發展到相對完善的階段,可用性逼近Windows系統。

KDE,K桌面環境(Kool Desktop Environment)的縮寫。一種著名的運作于 Linux、Unix 以及FreeBSD 等作業系統上面自由圖形工作環境,整個系統采用的都是 TrollTech 公司所開發的Qt程式庫(現在屬于Digia公司)。

GUI概述GUI簡介Linux的桌面環境KDE、GNOME開發所使用的庫

圖 1.7  KDE 4.7 桌面環境

GNOME 是GNU Network Object Model Environment(GNU,網絡對象模型環境)的縮寫,是一種讓使用者容易操作和設定電腦環境的工具,GNOME 包含了 Panel (用來啟動此程式和顯示目前的狀态)、桌面 (應用程式和資料放置的地方)、及一系列的标準桌面工具和應用程式,并且能讓各個應用程式都能正常地運作。不管之前使用何種作業系統,都能輕易地使用 GNOME 功能強大的圖形接口工具。

GUI概述GUI簡介Linux的桌面環境KDE、GNOME開發所使用的庫

圖 1.8  GNOME 3.0 桌面環境

KDE、GNOME開發所使用的庫

KDE是基于Qt庫的。Qt是一個1991年由奇趣科技開發的跨平台C++圖形使用者界面應用程式開發架構。它既可以開發GUI程式,也可用于開發非GUI程式,比如控制台工具和伺服器。Qt是面向對象的架構,使用特殊的代碼生成擴充(稱為元對象編譯器(Meta Object Compiler, moc))以及一些宏,易于擴充,允許元件程式設計。它提供給應用程式開發者建立藝術級的圖形使用者界面所需的所有功能。Qt很容易擴充,并且允許真正地元件程式設計。基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等圖形界 面庫和 Windows 平台上的 MFC,OWL,VCL,ATL 是同類型的東西。

GNOME使用的圖形庫是GTK+工具庫。它是是一套在GIMP的基礎上發展而來的進階的、可伸縮的現代化、跨平台圖形工具包,它可以很友善地制作圖形互動界面( GUI )。同時,它遵循 LGPL 許可證,是以使用者可以用它來開發開源軟體、自由軟體,甚至是封閉源代碼的商業軟體,而不用花費任何錢來購買許可證和使用權。GTK+ 實質上是一個面向對象的應用程式接口 ( API )。盡管完全用 C 寫成的,但它是基于類和回調函數 (指向函數的指針) 的思想實作的。具有穩定、跨平台、多種語言綁定、接口豐富、與時俱進、算法豐富、移動嵌入式應用廣泛等特點。

繼續閱讀