




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
3Qt簡(jiǎn)介物聯(lián)網(wǎng)學(xué)院平震宇3Qt介紹
Qt是一個(gè)跨平臺(tái)應(yīng)用程序和UI開發(fā)框架只需一次性開發(fā)應(yīng)用程序,無(wú)須重新編寫源代碼,便可跨不同桌面和嵌入式操作系統(tǒng)部署這些應(yīng)用程序Qt完全的面向?qū)ο?、易于擴(kuò)展,并允許組件編程
”Qtisacrossplatformdevelopment
frameworkwritteninC++.”3Qt歷史19901991199420052008Haavard和Eirik靈感閃現(xiàn)開始設(shè)計(jì),并提出信號(hào)和槽的概念1993開發(fā)出Qt的第一個(gè)圖形核心命名為Qt,并建立“奇趣科技”1995簽訂第一個(gè)合同,開始快速發(fā)展。1997Qt1.2發(fā)布,并且用于開發(fā)KDE。Qt4.0發(fā)布Nokia收購(gòu)奇趣科技2012Digia收購(gòu)Qt2014Qt5.3正式版3QtCreator介紹
QtCreator是一個(gè)用于Qt開發(fā)的輕量級(jí)跨平臺(tái)集成開發(fā)環(huán)境。QtCreator可帶來(lái)兩大關(guān)鍵益處:提供首個(gè)專為支持跨平臺(tái)開發(fā)而設(shè)計(jì)的集成開發(fā)環(huán)境(IDE),并確保首次接觸Qt框架的開發(fā)人員能迅速上手和操作。即使不開發(fā)Qt應(yīng)用程序,QtCreator也是一個(gè)簡(jiǎn)單易用且功能強(qiáng)大的IDE復(fù)雜代碼編輯器版本控制集成用戶界面設(shè)計(jì)器項(xiàng)目和編譯管理桌面和移動(dòng)平臺(tái)3QtCreator界面3Qt基礎(chǔ)模塊3Qt/EmbeddedQt/Embedded是一個(gè)完整的包含GUI和基于Linux嵌入式平臺(tái)的開發(fā)工具。Qt/Embedded以Qt為基礎(chǔ),并做了許多調(diào)整以適用于嵌入式環(huán)境。嵌入式GUI要求簡(jiǎn)單、直觀、可靠、占用資源小且反應(yīng)快速,以適應(yīng)系統(tǒng)硬件資源有限的條件。3Qt開發(fā)環(huán)境物聯(lián)網(wǎng)學(xué)院平震宇3QtopiaQtopia最初是sourceforge.NET上的一個(gè)開源項(xiàng)目,全稱是QtPalmtopEnvironment,是構(gòu)建于Qt/Embedded之上一個(gè)類似桌面系統(tǒng)的應(yīng)用環(huán)境Qtopia是為采用嵌入式Linux操作系統(tǒng)的消費(fèi)電子設(shè)備而開發(fā)的綜合應(yīng)用平臺(tái),Qtopia包含完整的應(yīng)用層、靈活的用戶界面、窗口操作系統(tǒng)、應(yīng)用程序啟動(dòng)程序以及開發(fā)框架。
交叉編譯Qt交叉編譯工具:arm-linux-gcc-4.3.2Qt源碼:qt-everywhere-opensource-src-4.7.0tslib源碼:tslib-1.4.tar.gz交叉編譯Qthttp://download.qt.io/archive/qt/3任務(wù)要求StepOne交叉編譯Qt4.7StepTwo在mini2440上部置Qt4.7StepThree運(yùn)行Qt4.7的示例程序StepOne配置tslib#./autogen.sh#./configure--prefix=/usr/local/tslib/--host=arm-linux編譯并安裝Qt4.7#make&&makeinstall下載tslib1.4#gitclone/kergoth/tslib#apt-getinstallautoconfautomake
libtoolStepOne執(zhí)行
Qt4.7.0編譯前的配置#/opt/mini2440/qt-everywhere-opensource-src-4.7.0#
./configure-prefix/opt/Qt4.7-opensource-release-fast-embeddedarm-xplatformqws/linux-arm-g++-no-webkit-qt-libtiff-qt-libmng-qt-mouse-tslib-qt-mouse-pc-no-mouse-linuxtp-no-neon編譯并安裝Qt4.7#make&&makeinstallStepTwo將Qt4.7打包將qt4.7.tgz拷貝到mini2440開發(fā)板#cd/opt#tarcvzfqt4.7.tgzQt4.7#rm/usr/local/Trolltech/QtEmbedded-4.7.0-arm/-rf#cd/opt#tarxvzf/sdcard/qt4.7.tgzStepThree腳本
/bin/setqt4env#!/bin/shif[-e/etc/friendlyarm-ts-input.conf];then./etc/friendlyarm-ts-input.conffitrue${TSLIB_TSDEVICE:=/dev/touchscreen}TSLIB_CONFFILE=/etc/ts.confexportTSLIB_TSDEVICEexportTSLIB_CONFFILEexportTSLIB_PLUGINDIR=/usr/lib/tsexportTSLIB_CALIBFILE=/etc/pointercalexportQWS_DISPLAY=:1exportLD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATHexportPATH=/bin:/sbin:/usr/bin/:/usr/sbin:/usr/local/binif[-c/dev/touchscreen];thenexportQWS_MOUSE_PROTO="TslibMouseMan:/dev/input/mice"if[!-s/etc/pointercal];thenrm/etc/pointercal/usr/bin/ts_calibratefielseexportQWS_MOUSE_PROTO="MouseMan:/dev/input/mice"fiexportQWS_KEYBOARD=TTY:/dev/tty1exportHOME=/root3配置QtCreator物聯(lián)網(wǎng)學(xué)院平震宇3qmakeqmake是Trolltech公司創(chuàng)建的用來(lái)為不同的平臺(tái)和編譯器生成Makefile的工具。手寫Makefile是比較困難并且容易出錯(cuò)的,尤其是需要給不同的平臺(tái)和編譯器組合寫幾個(gè)Makefile。使用qmake,開發(fā)者創(chuàng)建一個(gè)簡(jiǎn)單的“項(xiàng)目”文件并且運(yùn)行qmake生成適當(dāng)?shù)腗akefile。qmake會(huì)注意所有的編譯器和平臺(tái)的依賴性,可以把開發(fā)者解放出來(lái)只關(guān)心他們的代碼。Trolltech公司使用qmake作為Qt庫(kù)和Qt所提供的工具的主要連編工具。qmake也注意了Qt的特殊需求,可以自動(dòng)的包含moc和uic的連編規(guī)則。
3任務(wù)要求StepOne使用qmake工具StepTwo配置QtCreatorStepOne創(chuàng)建一個(gè)項(xiàng)目文件
SOURCES=hello.cppHEADERS=hello.hCONFIG+=qtwarn_onrelease生成Makefile#qmake-oMakefileStepTwoqmake配置界面
StepTwo工具鏈配置界面
StepTwoARM平臺(tái)構(gòu)建設(shè)置
3信號(hào)-槽物聯(lián)網(wǎng)學(xué)院平震宇3信號(hào)-槽(Signals&Slots)quit:QPushButtonclick()[signal]a:QApplicationquit()[slot]QObject::connect(&quit,SIGNAL(clicked()),&a,SLOT(quit()));鼠標(biāo)點(diǎn)擊quit按鈕quit對(duì)象發(fā)出信號(hào)click()執(zhí)行對(duì)象a的quit()函數(shù)信號(hào)-槽(Signals&Slots)class類名:publicQObject或其派生類{Q_OBJECT......signals:
信號(hào)名(信號(hào)參數(shù)列表);......};含有信號(hào)與槽的類必須繼承自QObject類或其派生類類定義開始處需要有Q_OBJECT宏在signals部分聲明信號(hào)信號(hào)的聲明與函數(shù)聲明相同,但是沒有函數(shù)定義emit
信號(hào)名(信號(hào)參數(shù)表);Qt類中預(yù)定義了大部分常用的信號(hào)與槽,同時(shí)用戶可以自定義信號(hào)與槽信號(hào)-槽(Signals&Slots)class類名:publicQObject或其派生類{Q_OBJECT......
訪問(wèn)權(quán)限slots:
槽函數(shù)名(參數(shù)列表);......};含有信號(hào)與槽的類必須繼承自QObject類或其派生類類定義開始處需要有Q_OBJECT宏在slots部分聲明槽訪問(wèn)權(quán)限publicprivateprotected槽與普通C++函數(shù)幾乎完全一樣,唯一不同的是它可以和信號(hào)連接返回類型類名::槽函數(shù)頭{
槽函數(shù)定義}槽的聲明與定義信號(hào)-槽(Signals&Slots)sender:指向發(fā)出信號(hào)的對(duì)象的指針receiver:指向結(jié)束信號(hào)的對(duì)象的指針一個(gè)信號(hào)可以連接多個(gè)槽,發(fā)射信號(hào)時(shí)會(huì)以不確定的順序自動(dòng)調(diào)用這些槽多個(gè)信號(hào)可以連接同一個(gè)槽一個(gè)信號(hào)可以與另外一個(gè)信號(hào)連接連
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 化妝鏡、放大鏡、裝飾鏡及各類玻璃制品的生產(chǎn)第二次擴(kuò)建項(xiàng)目環(huán)評(píng)報(bào)告表
- 洋浦疏港高速公路工程SG01標(biāo)段拌合站、鋼筋加工場(chǎng)、辦公用房環(huán)評(píng)報(bào)告(公示稿)環(huán)評(píng)報(bào)告表
- 2025年化學(xué)氣相沉積硫化鋅(CVDZNS)晶體合作協(xié)議書
- 海南馨島優(yōu)匯生物科技有限公司年產(chǎn)3萬(wàn)噸微生物菌劑和2萬(wàn)噸有機(jī)水溶肥項(xiàng)目環(huán)境影響報(bào)告表公示稿環(huán)評(píng)報(bào)告表
- 中貝通信被擔(dān)保人最近一期財(cái)務(wù)報(bào)表
- 內(nèi)蒙古華云新材料有限公司審計(jì)報(bào)告
- 露天礦山工程邊坡施工方案
- 墩柱滑模施工方案
- 緩釋肥與常規(guī)復(fù)合肥配合施用對(duì)水稻產(chǎn)量和品質(zhì)的影響分析
- 醫(yī)療機(jī)構(gòu)水污染物排放的治理技術(shù)
- 2022浙江農(nóng)林大學(xué)博士入學(xué)考試英語(yǔ)
- 廣發(fā)銀行防范詐騙安全提示
- 雙碳視角看歐盟綠色新政政策篇
- 備電綜合解決方案服務(wù)合同
- 煤礦礦安全監(jiān)測(cè)監(jiān)控系統(tǒng)的選型設(shè)計(jì)
- 樣板引路專項(xiàng)方案計(jì)劃
- 往復(fù)式壓縮機(jī)組單機(jī)試運(yùn)方案
- 硝酸鉀牙膏抗牙本質(zhì)敏感效果的循證分析
- 車輛清障救援合作協(xié)議
- BM 帶小葉片的高壓比壓氣機(jī)葉輪設(shè)計(jì)BladeGen實(shí)例
- 輸變電工程建設(shè)管理程序指南
評(píng)論
0/150
提交評(píng)論