




版權(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開(kāi)發(fā)框架只需一次性開(kāi)發(fā)應(yīng)用程序,無(wú)須重新編寫(xiě)源代碼,便可跨不同桌面和嵌入式操作系統(tǒng)部署這些應(yīng)用程序Qt完全的面向?qū)ο蟆⒁子跀U(kuò)展,并允許組件編程
”Qtisacrossplatformdevelopment
frameworkwritteninC++.”3Qt歷史19901991199420052008Haavard和Eirik靈感閃現(xiàn)開(kāi)始設(shè)計(jì),并提出信號(hào)和槽的概念1993開(kāi)發(fā)出Qt的第一個(gè)圖形核心命名為Qt,并建立“奇趣科技”1995簽訂第一個(gè)合同,開(kāi)始快速發(fā)展。1997Qt1.2發(fā)布,并且用于開(kāi)發(fā)KDE。Qt4.0發(fā)布Nokia收購(gòu)奇趣科技2012Digia收購(gòu)Qt2014Qt5.3正式版3QtCreator介紹
QtCreator是一個(gè)用于Qt開(kāi)發(fā)的輕量級(jí)跨平臺(tái)集成開(kāi)發(fā)環(huán)境。QtCreator可帶來(lái)兩大關(guān)鍵益處:提供首個(gè)專為支持跨平臺(tái)開(kāi)發(fā)而設(shè)計(jì)的集成開(kāi)發(fā)環(huán)境(IDE),并確保首次接觸Qt框架的開(kāi)發(fā)人員能迅速上手和操作。即使不開(kāi)發(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)的開(kāi)發(fā)工具。Qt/Embedded以Qt為基礎(chǔ),并做了許多調(diào)整以適用于嵌入式環(huán)境。嵌入式GUI要求簡(jiǎn)單、直觀、可靠、占用資源小且反應(yīng)快速,以適應(yīng)系統(tǒng)硬件資源有限的條件。3Qt開(kāi)發(fā)環(huán)境物聯(lián)網(wǎng)學(xué)院平震宇3QtopiaQtopia最初是sourceforge.NET上的一個(gè)開(kāi)源項(xiàng)目,全稱是QtPalmtopEnvironment,是構(gòu)建于Qt/Embedded之上一個(gè)類似桌面系統(tǒng)的應(yīng)用環(huán)境Qtopia是為采用嵌入式Linux操作系統(tǒng)的消費(fèi)電子設(shè)備而開(kāi)發(fā)的綜合應(yīng)用平臺(tái),Qtopia包含完整的應(yīng)用層、靈活的用戶界面、窗口操作系統(tǒng)、應(yīng)用程序啟動(dòng)程序以及開(kāi)發(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開(kāi)發(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的工具。手寫(xiě)Makefile是比較困難并且容易出錯(cuò)的,尤其是需要給不同的平臺(tái)和編譯器組合寫(xiě)幾個(gè)Makefile。使用qmake,開(kāi)發(fā)者創(chuàng)建一個(gè)簡(jiǎn)單的“項(xiàng)目”文件并且運(yùn)行qmake生成適當(dāng)?shù)腗akefile。qmake會(huì)注意所有的編譯器和平臺(tái)的依賴性,可以把開(kā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類或其派生類類定義開(kāi)始處需要有Q_OBJECT宏在signals部分聲明信號(hào)信號(hào)的聲明與函數(shù)聲明相同,但是沒(méi)有函數(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類或其派生類類定義開(kāi)始處需要有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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 黑磷基納米材料化學(xué)制備及其穩(wěn)定性研究
- 水泥刨花板企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 鐵礦石成品礦企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 2025年無(wú)機(jī)礦物填充塑料項(xiàng)目合作計(jì)劃書(shū)
- 長(zhǎng)治市濱河公園景觀微更新設(shè)計(jì)研究
- 制劑質(zhì)量控制體系企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 飲用水安全保障企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 肉質(zhì)金腰的化學(xué)成分及其抗IC型肝損傷活性研究
- 人本主義視角下初中語(yǔ)文課堂教學(xué)管理研究
- 農(nóng)業(yè)害蟲(chóng)靶向藥劑研制企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 2024-2034年中國(guó)形體矯正鞋行業(yè)市場(chǎng)現(xiàn)狀分析及競(jìng)爭(zhēng)格局與投資發(fā)展研究報(bào)告
- 項(xiàng)目保密工作實(shí)施方案
- 電競(jìng)產(chǎn)業(yè)園方案
- 高甘油三酯血癥性急性胰腺炎診治急診專家共識(shí)2021解讀
- 雕版印刷術(shù)的發(fā)明《金剛經(jīng)》課件
- 精密測(cè)量課程中的思政案例弘揚(yáng)工匠精神助力科技強(qiáng)國(guó)
- 殘疾人就業(yè)服務(wù)
- 傳統(tǒng)的中國(guó)紋樣與飾品設(shè)計(jì)
- 工業(yè)園區(qū)消防培訓(xùn)課件
- 供水管網(wǎng)項(xiàng)目背景
- 淺層高效氣浮池技術(shù)說(shuō)明
評(píng)論
0/150
提交評(píng)論