版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第九章Qt/Embedded嵌入式圖形開(kāi)發(fā)目錄Qtopia虛擬平臺(tái)及在S3C2410s開(kāi)發(fā)板上移植本章導(dǎo)讀Qt/Embedded嵌入式圖形開(kāi)發(fā)基礎(chǔ)目錄本章導(dǎo)讀能力目標(biāo):●了解嵌入式圖形開(kāi)發(fā)的流程;●了解嵌入式圖形開(kāi)發(fā)工具Qt和Qt/Embedded;●了解嵌入式圖形開(kāi)發(fā)工具Qt/Embedded;●了解Qt/Embedded的開(kāi)發(fā)環(huán)境;●了解Qt設(shè)計(jì)器及其使用;●了解Qtopia與Qt/Embedded的關(guān)系;●了解Qtopia的虛擬平臺(tái)構(gòu)建和開(kāi)發(fā)流程。1學(xué)習(xí)導(dǎo)航:本章是對(duì)基于ARM9的圖形界面的設(shè)計(jì)平臺(tái)Qt的介紹,在文章中系統(tǒng)的介紹了Qt/Embedded和Qtopia的開(kāi)發(fā)環(huán)境建立和進(jìn)行開(kāi)發(fā)的相關(guān)概念、基礎(chǔ)知識(shí)和一般應(yīng)用的綜述,為后續(xù)的深入學(xué)習(xí)提供了知識(shí)基礎(chǔ),和理論儲(chǔ)備,圖9-1所示是Qt/E的圖形界面的開(kāi)發(fā)流程。Qt/E的圖形界面的開(kāi)發(fā)Qt/E的開(kāi)發(fā)環(huán)境的建立主函數(shù)和其它文件的編寫(xiě)新建窗口新建工程生成makefile文件編譯工程2知識(shí)框架:本章知識(shí)內(nèi)容為基于ARM9的Linux嵌入式系統(tǒng)地圖形界面的開(kāi)發(fā)的工具、開(kāi)發(fā)環(huán)境、信號(hào)和插槽的概念以及移植何下載等。Linux嵌入式圖形開(kāi)發(fā)工具Qt、Qt/E和QtopiaQt/E和Qtopia的開(kāi)發(fā)環(huán)境的創(chuàng)建Tmake工具包Qt設(shè)計(jì)器和窗口類(lèi)的應(yīng)用嵌入式圖形開(kāi)發(fā)的程序?qū)嵗齉t-x11工具包Qt/Embedded工具包3Qt/Embedded嵌入式圖形開(kāi)發(fā)基礎(chǔ)Qt/E是Tolltech公司的嵌入式產(chǎn)品,它是以工具包的形式提供給開(kāi)發(fā)人員的。Qt是C++語(yǔ)言開(kāi)發(fā)的,最初的Qt主要是為跨平臺(tái)的軟件開(kāi)發(fā)者提供一個(gè)統(tǒng)一的圖形用戶(hù)編程接口,以及統(tǒng)一的網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)操作的編程接口。如今Qt已經(jīng)成為一個(gè)支持多操作系統(tǒng)的應(yīng)用程序開(kāi)發(fā)框架,它為用戶(hù)提供的工具包中包括了圖形設(shè)計(jì)器、Makfile制作工具、字體國(guó)際化工具和Qt的C++類(lèi)庫(kù),以及豐富的API函數(shù)。Linux桌面系統(tǒng)KDE就是基于Qt開(kāi)發(fā)的。4Qt/E作為一個(gè)專(zhuān)用于嵌入式系統(tǒng)的GUI,它運(yùn)行時(shí)需要的資源少,Qt/Embedded在運(yùn)行時(shí)只需要一個(gè)較小的存儲(chǔ)空間和內(nèi)存,Qt/E采用模擬化編程,是可裁剪的,開(kāi)發(fā)人員可以根據(jù)應(yīng)用的需求,將不需要的功能剪裁掉。9.1.1Qt/Embedded概述Qt/E是Qt的嵌入式版本,是專(zhuān)門(mén)為嵌入式系統(tǒng)的圖形用戶(hù)界面定制的開(kāi)發(fā)工具包。Qt/E與Qt一樣是用C++語(yǔ)言開(kāi)發(fā)的,它繼承了C++的優(yōu)良的框架,為用戶(hù)提供了基于信號(hào)和插槽的組件化編程機(jī)制。5Qt/Embedded可以運(yùn)行在不同的處理器上,只要Linux系統(tǒng)支持該處理器,則Qt/Embedded就可以在編譯后正常運(yùn)行在該處理器上。目前Qt/E支持的處理器有InterX86、MIPS、ARM、M68K和PowerPC等。Qt/E采用面向?qū)ο蟮脑O(shè)計(jì)思想,支持多種不同的輸入設(shè)備,如:鍵盤(pán)、鼠標(biāo)和圖形加速卡等。Qt/E不需要X服務(wù)器或Libe庫(kù),因此它所消耗的內(nèi)存不大,通過(guò)裁剪和隱式共享的技術(shù),Qt/E能夠最大程度的節(jié)省內(nèi)存空間。隱式共享是Qt/E采用的一種節(jié)省內(nèi)存空間的技術(shù),在Qt中有很多類(lèi)中都采用了該技術(shù)。使用該技術(shù)可以避免不必要的復(fù)制占用內(nèi)存空間。6Qt/E可以直接寫(xiě)內(nèi)核緩沖幀,它的工具包中的圖形設(shè)計(jì)器Designer支持可視化的用戶(hù)接口設(shè)計(jì),同時(shí)還具有動(dòng)態(tài)布局的功能。圖9-3是Qt/Embedded的Linux版本的層次結(jié)構(gòu)圖。應(yīng)用程序QtAPIQt/Embedded幀緩沖Linux內(nèi)核7Qt/E窗口系統(tǒng)一個(gè)Qt/Embedded窗口系統(tǒng)可以包含一個(gè)或多個(gè)進(jìn)程,其中的一個(gè)進(jìn)程可以作為服務(wù)器進(jìn)程。服務(wù)器進(jìn)程其主要功能如下:為客戶(hù)分配顯示區(qū)域繪制屏幕提供輸入方法提供用戶(hù)接口產(chǎn)生鼠標(biāo)事件產(chǎn)生鍵盤(pán)事件8Qt/E字體Qt/Embedded嵌入式系統(tǒng)的圖形用戶(hù)界面開(kāi)發(fā)包支持以下4種格式的字體,同時(shí)還可以通過(guò)增加子類(lèi)的方式來(lái)支持其他字體格式,QT/E中使用的所有字體都采用Unicode方式進(jìn)行編碼。TrueType(TTF):可縮放的矢量顯示字體。PostscriptType1(PFA/PFB):可縮放的矢量打印字體。9BitmapDistributionFormatfonts(BDF):不可縮放的位圖像素字體,占用的存儲(chǔ)空間量大。QtPrerenderedFont(QPF):是QT/E專(zhuān)用的,不可縮放的輕量級(jí)字體。在Qt/Embedded開(kāi)發(fā)包中QPF是QT/E專(zhuān)用的始終可用的字體,其余三中字體的開(kāi)啟和關(guān)閉是可選的。TTF字體是顯示用的,可縮放的矢量字體,使用該格式時(shí),每個(gè)指定大小的字符只在第一次顯示時(shí)被渲染;10BDF字體是位圖顯示字體,第一次使用該字體時(shí)所有字符都會(huì)被渲染,TTF、PFA和QPF字體格式都能采用光滑的抗鋸齒方式進(jìn)行渲染;Qt/E輸入方法Qt/E開(kāi)發(fā)包對(duì)不同的輸入法提供了支持接口,對(duì)于常用的中文輸入法、日文輸入法、阿拉伯文輸入法和希伯來(lái)文輸入法,都必須改變鍵盤(pán)的輸入編碼。11Qt/E開(kāi)發(fā)包中的輸入法類(lèi)QWSInputMethod是一個(gè)基類(lèi),它定義了一些接口接口來(lái)支持不同的輸入法程序,它可以處理鼠標(biāo)和鍵盤(pán)事件,把接收到的鍵盤(pán)事件按照指定的輸入法編碼規(guī)則轉(zhuǎn)換成對(duì)應(yīng)的文字。下面我以中文輸入法為例來(lái)介紹文字輸入的步驟。在鍵盤(pán)上按拼音或五筆按順序進(jìn)行按鍵,在Linux的服務(wù)器端監(jiān)測(cè)到鍵盤(pán)和鼠標(biāo)事件,執(zhí)行對(duì)應(yīng)的輸入法。當(dāng)繼續(xù)進(jìn)行按鍵時(shí)下文處于激活狀態(tài),輸入法會(huì)嘗試著去創(chuàng)建與鍵盤(pán)輸入相對(duì)應(yīng)的中文字符。12輸入完成時(shí),需要用戶(hù)通過(guò)某種方式來(lái)確認(rèn)輸入完成的結(jié)束字符串,此時(shí),用戶(hù)所選擇的結(jié)束字符串將最終被發(fā)送到當(dāng)前的編輯窗口。Qt/Embedded采用面向?qū)ο蟮脑O(shè)計(jì)思想,支持多種不同的輸入命令。例如,鍵盤(pán)、鼠標(biāo)、圖形加速卡等。Qt/Embedded不需要服務(wù)器或者lib庫(kù),因此它所消耗的內(nèi)存不大,通過(guò)裁剪和隱藏方式共享技術(shù),Qt/Embedded能夠最大程度地節(jié)省內(nèi)存空間。139.1.2創(chuàng)建Qt/Embedded開(kāi)發(fā)環(huán)境準(zhǔn)備工作在進(jìn)行Qt/E開(kāi)發(fā)環(huán)境的安裝前,應(yīng)先獲取相關(guān)的安裝包。要?jiǎng)?chuàng)建Qt/E的開(kāi)發(fā)環(huán)境,我們需要先準(zhǔn)備如下的安裝包:Tmake安裝包:tmake是makefile的生成工具。Qt/Embedded安裝包:qt-embedded-2.3.2.tar.bz2是嵌入式開(kāi)發(fā)包。Qt的X11版的安裝包:qt-x11-2.3.2.tar.gz是用以產(chǎn)生開(kāi)發(fā)環(huán)境所需的工具。14安裝tmake在linux的命令行模式下先對(duì)文件進(jìn)行解壓,在安裝。tar
xfztmake-1.13.tar.gzexportTMAKEDIR=/qt/tmake-1.13exportTMAKEPATH=/qt/tmake-1.13/lib/qws/linux-x86-g/exportPATH=/qt/tmake-1.13/bin/:$PATH15安裝Qt/Embedded本書(shū)中選用的Qt/Embedded安裝包是qt-embedded-linux-opensource-src-3.4.0-rc1.tar.bz2它是一個(gè)完整的開(kāi)發(fā)工具,其中包含了基于linux的嵌入式平臺(tái)開(kāi)發(fā)工具和GUI。下面是qt-embedded-linux的安裝步驟:tar
–jxvfqt-embedded-2.3.2.tar.bz2cd
qt-embedded-2.3.2./comfigure-prefix/opt/qte-qt-mouse-linuxup-qvfb16Makemake
install
exportQTDIR
=/opt/qpeexportQTEDIR
=$QTDIRexport
PATH
=/opt/qte/bin:$PATHexportLD_LIBRARY_PATH=opt/qte/lib:$LD_LIBRARY_PATH17安裝Qt-X11qt-x11-2.3.2.tar.bz2主要是產(chǎn)生Qt開(kāi)發(fā)工具,如designer和qvfb等,下面是qt-x11-2.3.2.tar.bz2的安裝步驟:tar
–jxvfqt-x11-2.3.2.tar.bz2cd
qt-x11-2.3.2./configure
make
18make
install
cd
qt-x11-2.3.2
cd
/tools/qvfb
make
cpbin/qvfb/opt/qte/bin199.1.3Qt設(shè)計(jì)器簡(jiǎn)介Qt設(shè)計(jì)器是用來(lái)設(shè)計(jì)和實(shí)現(xiàn)用戶(hù)界面,并支持多平臺(tái)下使用的一種可視化的設(shè)計(jì)工具。Qt設(shè)計(jì)器中包含了一個(gè)代碼編輯器,qt窗口等功能的基類(lèi),同時(shí)還支持信號(hào)和插槽機(jī)制。使用Qt設(shè)計(jì)器你可以在編輯器中自己定制插槽的功能代碼、操作工具欄、菜單欄等。20信號(hào)和插槽信號(hào)和插槽是Trolltech創(chuàng)立的一種新機(jī)制,主要用于對(duì)象間的通信,Qt是完全支持該機(jī)制的,所以信號(hào)與插槽也被認(rèn)為是Qt編程的基礎(chǔ)。在圖形用戶(hù)界面中常常需要對(duì)用戶(hù)的鼠標(biāo)和鍵盤(pán)等動(dòng)作做出響應(yīng),在很多時(shí)候?qū)τ谶@些事件的響應(yīng)是通過(guò)回調(diào)函數(shù)來(lái)實(shí)現(xiàn)的,即事先定義一個(gè)函數(shù),并把函數(shù)的指針作為參數(shù)傳遞給另外一個(gè)這種調(diào)用函數(shù),當(dāng)特定的事件發(fā)生時(shí),調(diào)用函數(shù)通過(guò)地址調(diào)用回調(diào)函數(shù)對(duì)事件進(jìn)行處理。而信號(hào)和插槽是另一種完全不同的機(jī)制,在Qt的編程中它取代了回調(diào)函數(shù),同時(shí)也避免了由此帶來(lái)的進(jìn)程崩潰的問(wèn)題。21在Qt中信號(hào)和插槽是使用C++來(lái)實(shí)現(xiàn)的。在采用信號(hào)和插槽編程的類(lèi)中,必須對(duì)QObject子類(lèi)進(jìn)行繼承,并在類(lèi)的定義中加上Q_OBJECT宏。在類(lèi)中信號(hào)signals是不需要實(shí)現(xiàn)的,當(dāng)信號(hào)被激活時(shí),執(zhí)行與該信號(hào)連接的插槽函數(shù)。插槽函數(shù)是需要被實(shí)現(xiàn)的函數(shù),它與普通的C++成員函數(shù)一樣,它可以是虛函數(shù),可以被重載。唯一不同的是插槽適合信號(hào)連接的函數(shù),它可以在信號(hào)即事件發(fā)生后被自動(dòng)調(diào)用。22在應(yīng)用中,我們可以將信號(hào)和插槽隨意進(jìn)行組合,一個(gè)信號(hào)可以連接到一個(gè)或多個(gè)插槽
,當(dāng)一個(gè)信號(hào)被連接到多個(gè)插槽時(shí),當(dāng)信號(hào)發(fā)送時(shí),與之連接的插槽將一個(gè)一個(gè)地被調(diào)用。如果是多個(gè)信號(hào)連接到一個(gè)插槽,此時(shí)只要與之相連的其中一個(gè)信號(hào)發(fā)送,插槽就會(huì)被調(diào)用。圖9-5是信號(hào)和插槽的連接示意圖。對(duì)象1信號(hào)1插槽對(duì)象3插槽對(duì)象2信號(hào)插槽1/223代碼編輯器代碼編輯器是進(jìn)行代碼編寫(xiě)的地方,使用代碼編輯器用戶(hù)可以在程序中嵌入自定義的插槽和信號(hào)。Qt中的信號(hào)和插槽是用C++語(yǔ)言編寫(xiě)的,它可以自動(dòng)生成部分代碼,也可以使用編輯器來(lái)編寫(xiě)實(shí)現(xiàn)的代碼。關(guān)于程序的編寫(xiě)規(guī)則和C++的書(shū)寫(xiě)一樣,在此不再贅述。24窗口Qt設(shè)計(jì)器擁有豐富的窗口資源,Qwidget類(lèi)是所有用戶(hù)界面對(duì)象的基類(lèi)。窗口是用戶(hù)界面的一個(gè)基本原子,每一個(gè)窗口都是矩形,它不僅可以顯示繪制圖形,還可以從窗口系統(tǒng)中接收鼠標(biāo)和鍵盤(pán)事件。圖9-6是Qwidget的類(lèi)繼承圖。25每一個(gè)窗口都有一個(gè)頂級(jí)窗口,QDialog可以作為一個(gè)頂級(jí)窗口,它是一個(gè)沒(méi)有父窗口的窗口。通常情況下,在一個(gè)父窗口會(huì)包含框架、標(biāo)題欄等子窗口。非頂級(jí)窗口就是子窗口,它是父窗口中的組成部分。類(lèi)QWidget是擁有很多成員函數(shù)和成員變量的類(lèi)。它的所有成員可以分為公有成員、私有成員和保護(hù)成員幾大類(lèi),下面將羅列出部分的公有插槽函數(shù)。QwidgetQDialogQFrameQLabelQLineEditQSpinBoxQObject26QWidget的成員眾多,在使用的時(shí)候你可以根據(jù)需要為你的窗口添加部件和事件,如:窗口重繪、鼠標(biāo)按下、鼠標(biāo)釋放和按鍵相關(guān)函數(shù)等。paintEvent():窗口重繪函數(shù),當(dāng)窗口中的部件更新需要重繪時(shí)調(diào)用該函數(shù)。執(zhí)行該函數(shù)將在屏幕上重繪窗口。resizeEvent():是窗口部件大小的函數(shù)。mousePressEvent():當(dāng)鼠標(biāo)鍵被按下時(shí)被調(diào)用該函數(shù),在Qt中有六個(gè)與鼠標(biāo)相關(guān)的事件,但鼠標(biāo)按下和鼠標(biāo)釋放事件是其中最重要的事件。27mouseReleaseEvent():是鼠標(biāo)鍵釋放事件函數(shù),當(dāng)窗口部件接收到相應(yīng)的鼠標(biāo)釋放事件時(shí),調(diào)用該函數(shù)。mouseDoubleClickEvent():是鼠標(biāo)鍵雙擊事件函數(shù)。keyPressEvent():是鍵按下的事件函數(shù),當(dāng)鍵被按下和鍵被按下時(shí)間足夠長(zhǎng)時(shí)可以自動(dòng)重復(fù)該函數(shù)就被調(diào)用。focusInEvent():當(dāng)窗口部件獲得鍵盤(pán)焦點(diǎn)時(shí)調(diào)用該函數(shù)。focusOutEvent():與focusInEvent()函數(shù)不同,它是當(dāng)窗口部件失去鍵盤(pán)焦點(diǎn)時(shí)被調(diào)用的。28mouseMoveEvent():是在鼠標(biāo)鍵被按下同時(shí)鼠標(biāo)移動(dòng)時(shí)才會(huì)被調(diào)用,比如用鼠標(biāo)進(jìn)行拖動(dòng)等操作。keyReleaseEvent():當(dāng)鍵被釋放或這個(gè)鍵是自動(dòng)重復(fù)并且被按下一段時(shí)間時(shí)被調(diào)用,如果Tab和Shift+Tab鍵被用在焦點(diǎn)變換機(jī)制中,它們將僅被傳遞給窗口部件。為了強(qiáng)迫鍵釋放事件被你的窗口部件處理,你必須重新實(shí)現(xiàn)QWidget::event()。wheelEvent():當(dāng)窗口部件擁有焦點(diǎn)時(shí),只要用戶(hù)轉(zhuǎn)動(dòng)鼠標(biāo)滾輪就調(diào)用該函數(shù)。29enterEvent():該函數(shù)在鼠標(biāo)進(jìn)入這個(gè)窗口部件屏幕空間時(shí)被調(diào)用。leaveEvent():是在鼠標(biāo)離開(kāi)這個(gè)窗口部件的屏幕空間時(shí)被調(diào)用。moveEvent():是窗口部件相對(duì)于它的父窗口部件被移動(dòng)時(shí)調(diào)用的。closeEvent():當(dāng)用戶(hù)關(guān)閉窗口部件時(shí)被調(diào)用的,該函數(shù)也可以在close()函數(shù)被調(diào)用時(shí)調(diào)用。309.1.4QtDesigner實(shí)例及Qt/E的交叉編譯1.新建工程第一步是新建一個(gè)工程文件,并手動(dòng)為其添加頭文件和源文件。在這里使用工程文件而不是創(chuàng)建一個(gè)單獨(dú)的ui文件的好處是,使用工程文件你可以將所有的圖像存儲(chǔ)到一個(gè)單一的文件中,而且可以通過(guò)鼠標(biāo)點(diǎn)擊來(lái)加載窗口。點(diǎn)擊“file->new”進(jìn)入如圖9-7所示的新文件對(duì)話框,選擇“C++Project”單擊OK。這時(shí)你就可以為你的工程文件命名,并制定保存位置。31322.新建窗口在QtDesigner中,單擊菜單項(xiàng)“new”,將彈出一個(gè)“newForm”對(duì)話框,在彈出的這個(gè)對(duì)話框中選擇“widget”并單擊“OK”了,新建一個(gè)窗口。完成窗口的新建工作后,接下來(lái)就是修改窗口的屬性,在name屬性欄中填入“hello”,設(shè)置窗口名;設(shè)置窗口尺寸確保窗口的大小與目標(biāo)板上的顯示屏大小一致,在此我們?cè)O(shè)置其窗口尺寸為240*320。333.填寫(xiě)顯示文本雙擊“textlabel”在里面填寫(xiě)要顯示的文本信息,單擊“OK”,將你的工程保存到指定的文件夾里,最好選擇和你的工程名一致的文件夾,此時(shí)QtDesigner以為你生成了一個(gè)hello.ui文件。4.生成hello.h頭文件和hello.cpp現(xiàn)在我們可以通過(guò)uic命令來(lái)生成hello.h頭文件和hello.cpp實(shí)現(xiàn)文件。34命令“uic-ohello.hhello.ui”是生成頭文件,而“uic-ohello.cppimplhello.hhello.ui”是生成與hello.h對(duì)應(yīng)的hello.cpp文件。執(zhí)行完成就得到了Hello窗體的頭文件hello.h和實(shí)現(xiàn)文件hello.cpp,接下來(lái)就可以為其添加相應(yīng)的代碼了。uic-ohello.hhello.uiuic-ohello.cppimplhello.hhello.ui355.編寫(xiě)main函數(shù)一個(gè)Qt/Embedded應(yīng)用程序中應(yīng)該包含一個(gè)main主函數(shù),使用編輯器vi或emacs先新建一個(gè)main.cpp文件,并為其填寫(xiě)如下代碼。#include"hello.h"#include<qapplication.h>/*Main.cpp是主函數(shù),程序從此開(kāi)始執(zhí)行*/intmain(intargc,char*argv[]){QApplicationap(argc,argv);/*
生成一個(gè)hello的變量*/hellodlp;ap.setMainWidget(&dlp);dlp.show();returnap.exec();}366.編輯完成文件的編寫(xiě)后,接下來(lái)進(jìn)行的編輯了。前面介紹的三個(gè)文件hello.h、hello.cpp和main.cpp都應(yīng)該被包含在工程文件.pro內(nèi)。HEADERS=hello.hSOURCES=hello.cpp\Main.cppINTERFACES
=
TARGET
=hello377.生成makefile文件在Qt中編輯器同樣是根據(jù)makefile文件的內(nèi)容來(lái)進(jìn)行編譯的,在Qt中生成makefile文件可以使用tmake或者qmake。其中qmake用于本地編譯,tmake則既可以生成本地的makefile,也可以生成用于交叉編譯的makefile,二者的區(qū)別在于TMAKEPATH路徑的不同,一個(gè)是用于x86,另一個(gè)是用于arm或其他的處理器。8.編譯工程直接執(zhí)行make命令對(duì)整個(gè)工程進(jìn)行編譯鏈接,生成一個(gè)二進(jìn)制的可執(zhí)行文件hello,將這個(gè)文件發(fā)布到目標(biāo)板上就完成了。38Qtopia虛擬平臺(tái)及在S3C2410s開(kāi)發(fā)板上移植Qtopia是Trolltech公司開(kāi)發(fā)的,用于采用嵌入式Linux操作系統(tǒng)的消費(fèi)類(lèi)電子設(shè)備中。他是一個(gè)綜合的應(yīng)用平臺(tái),包含有完整的應(yīng)用程序、用戶(hù)界面、窗口操作系統(tǒng)以及開(kāi)發(fā)框架等。Qtopia是基于Qt/E開(kāi)發(fā)的,是帶桌面的系統(tǒng)嵌入式圖形開(kāi)發(fā)工具。常用于PDA、手機(jī)等電子產(chǎn)品中。Qtopia是帶桌面的嵌入式Qt,而Qt/E是Qt的嵌入式開(kāi)發(fā)工具。Trolltech所提供的Qtopia有三大版本,分別是Qtopia手機(jī)版、QtopiaPDA版和Qtopia消費(fèi)電子產(chǎn)品平臺(tái)。399.2.1構(gòu)建本機(jī)Qtopia虛擬平臺(tái)建立本機(jī)的Qtopia虛擬平臺(tái),需要先準(zhǔn)備qtopia的環(huán)境qtopia-free-source-2.1.1.tar.bz2、e2fsprogs-1.39、tmake、qt-embedded和qt-x11。安裝e2fsprogs-1.39e
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 孕產(chǎn)婦村醫(yī)培訓(xùn)
- 2025教育軟件代理合作合同代理合同范本
- 2025電線電纜采購(gòu)合同范本
- 2025三電改遷工程分包合同 非正式用于應(yīng)付外部檢查
- 復(fù)興區(qū)社會(huì)治理發(fā)言材料
- 2025房地產(chǎn)聯(lián)合開(kāi)發(fā)的合同模板
- 2025電梯(扶梯)維護(hù)保養(yǎng)合同
- 【七年級(jí)下冊(cè)地理粵教版】7.4 西亞 同步練習(xí)
- 咨詢(xún)公司電話咨詢(xún)員工作總結(jié)
- 家裝行業(yè)的消費(fèi)者心理分析與銷(xiāo)售策略制定
- TSGD7002-2023-壓力管道元件型式試驗(yàn)規(guī)則
- 2024年度家庭醫(yī)生簽約服務(wù)培訓(xùn)課件
- 建筑工地節(jié)前停工安全檢查表
- 決策的藝術(shù)課件
- 國(guó)際經(jīng)濟(jì)學(xué)國(guó)際貿(mào)易的標(biāo)準(zhǔn)理論
- 8D報(bào)告培訓(xùn)教材(PPT 47頁(yè))
- -居民死亡醫(yī)學(xué)證明(推斷)書(shū)
- 糖尿病酮癥酸中毒病例討論-文檔資料
- 液相色譜質(zhì)譜質(zhì)譜儀LCMSMSSYSTEM
- 民辦非企業(yè)單位章程核準(zhǔn)表-空白表格
- 派克與永華互換表
評(píng)論
0/150
提交評(píng)論