Qt、Qte、Qtopia、Qvfb、Qpe概念區別

知識經驗 8710瀏覽 2評論

Qt

一般說的Qt其實是泛指Qt的所有桌面版本,例如:Qt/X11(Linux下),Qt Windows(windows下)以及Qt Mac等。運行于一般PC桌面環境的應用程序開發平臺。簡單理解就是,我們開發過程是在PC桌面環境(Windows,Mac或Linux等)中,而開發出來的程序也是在PC中運行的。
Nokia 在2008年收購 Trolltech 后,將 Qt 更名為 Qt Software,隨后改為 Qt Development Frameworks。而后 Nokia 開發了 IDE 工具 Qt Creator。

Qt Embeded(Qte)

Qt用于嵌入式Linux的版本,簡稱為Qte或Qt/E。Qte去掉X Lib(因為太大了)的依賴而直接工作于 Framebuffer 機制之上,雖然它是Qt的嵌入式版本,但是它不是Qt/X11的子集,它有部分機制(比如QCOP等)就不能用于Qt/X11中。其實Qte就是一個基礎庫。
Qte用于Linux、Wince等嵌入式平臺的開發基礎庫,屬于Qt的擴展(而不是Qt的子集)。

Qtopia

Qtopia是一個基于Qte的類似桌面系統的應用環境,包括有PDA版本和Phone版本。請注意是基于Qte的應用環境,換個說法就是Qte是庫(實際上Qte就是基礎類庫),Qtopia是用Qte這個庫開發出來的應用程序(必須搞清楚Qtopia就是一個應用程序)。其最高免費版本是:Qtopia-2.2.0,之后就再沒更新更高免費版本的Qtopia。原本Qtopia并不包含Qte庫,在使用之前必須先安裝Qte,但據說在Qtopia4版本之后Qtopia就自帶了Qte,兩者合二為一。
Qtopia早期是一個sf.net上的開源項目,構建于Qte之上。從Qt4.1開始,Qt/Embedded改名為Qtopia Core,又從Qt4.4.1開始,Qtopia Core又改名為Qt for Embedded Linux,就是現在的Qte(eveywhere)。

Framebuffer

FrameBuffer?是出現在 2.2.xx 內核當中的一種驅動程序接口。使用FrameBuffer這個設備來供用戶態進程實現直接寫屏。Framebuffer機制模仿顯卡的功能,將顯卡硬件結構抽象掉,可以通過Framebuffer的讀寫直接對顯存進行操作。在PC中使用的一般都是基于X Lib庫的X Window,但是在嵌入式下就沒法使用如此龐大的X Lib庫來完成顯示,顯示設備簡陋是一方面,此外嵌入式的片上資源也不允許。這樣就只能使用Framebuffer方式往屏幕設備上繪圖顯示了。與X Lib相比,Framebuffer本身不具備任何運算數據的能力,就好比是一個暫時存放水的水池,CPU將運算后的結果放到這個水池,水池再將結果流到顯示器,中間不會對數據做處理。在嵌入式應用開發中多使用framebuffer方式。

qvfb

全程為qt virtual framebuffer。是為qt提供的一個虛擬framebuffer的應用程序,實現對qt的應用程序提供一個模擬的嵌入式設備,可直接看到程序在“實際”設備中的運行情況。在PC上開發qt程序時,主要使用它來進行仿真。說白了就是:qvfb也就是一個應用程序,就是給qt程序提供一個模擬的framebuffer,這樣就可以在PC中為基于framebuffer運行的qt程序(一般就是指嵌入式qt程序)建立一個虛擬的運行平臺。qvfb主要與Qtopia(或qpe)一起使用。

qpe

全稱為Qt Palmtop Environment。為qt程序建立一個桌面環境,有時可以簡單理解就是指的Qtopia。
說明:關于qvfb與qpe,我的理解是,qpe在運行時會建立一個虛擬的framebuffer(通過共享內存方式)與qvfb的虛擬framebuffer進行交互,這里qpe作為輸出,為qvfb提供輸入,而qvfb則模擬出具體的嵌入式設備(如手機,PDA平板電腦等),并將鼠標鍵盤等操作信息反饋給qpe。這樣就使用虛擬framebuffer的方式建立了一個完整的,適合嵌入式qt程序運行的虛擬嵌入式設備。如下圖所示:
Qt程序到ARM開發板

利用qvfb虛擬出了一部手機,而我們的程序就會運行在這部手機的“屏幕里面”!很容易理解吧。

發表我的評論
取消評論

表情

Hi,您需要填寫昵稱和郵箱!

  • 昵稱 (必填)
  • 郵箱 (必填)
  • 網址

網友最新評論 (2)

  1. 漲知識了。。。。。。。。
    zjf_linux 5年前 (2015-04-08) 回復 編輯
  2. 真不錯,贊一個,繼續努力啊
    周詩雅 4年前 (2015-12-19) 回復 編輯
七星彩走势图2元网官网