第14章qt圖形界面程序設(shè)計_第1頁
第14章qt圖形界面程序設(shè)計_第2頁
第14章qt圖形界面程序設(shè)計_第3頁
第14章qt圖形界面程序設(shè)計_第4頁
第14章qt圖形界面程序設(shè)計_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

2023年6月6日第14章Qt圖形界面程序設(shè)計2023年6月6日主要內(nèi)容Qt的作用Qt簡介基本Qt程序示例項目文件利用qmake編譯程序QtCreator開發(fā)Qt程序示例程序結(jié)構(gòu)界面布局程序編譯2023年6月6日Qt的作用網(wǎng)絡(luò)協(xié)議X客戶端(應(yīng)用程序)X工具包、Gtk+,QtXLibX客戶端(應(yīng)用程序)X工具包、Gtk+,QtXLibX服務(wù)器設(shè)備驅(qū)動程序Qt工具包在XWindows中的作用和Gtk+一樣,是Xlib之上更高層的開發(fā)工具包,它們將底層的Xlib的API進行封裝,提供更高級的接口,達到降低開發(fā)難度,提高開發(fā)效率的目的。

2023年6月6日Qt簡介良好的可移植性:X11:即運行在XWindows的系統(tǒng),包括linux、unix等;windows系統(tǒng):包括windows95/98/Nt/2000/Xp/2003等;Macintosh系統(tǒng):MaxOSX;嵌入式系統(tǒng);輔助工具Qmake:簡化編譯過程QtCreator:集成開發(fā)環(huán)境2023年6月6日Qt簡介Qt的維護與許可制度不是由軟件組織和基金會維護;由QtSoftware國際化的公司維護;QPublicLicense(QPL)的許可協(xié)議;GeneralPublicLicense(GPL)版本;雙許可證(DualLicensing)的版本商業(yè)軟件非商業(yè)軟件2023年6月6日Qt簡介界面元素的組織:以類繼承的結(jié)構(gòu)組織;基類:QWidget;事件與事件處理程序的關(guān)聯(lián):重載已有的事件處理程序;適合于已經(jīng)存在的事件處理函數(shù)利用信號/槽的機制關(guān)聯(lián)信號(事件)和信號對應(yīng)的事件。信號(signal)是對象(類)向外界發(fā)送的任意消息、事件,不僅僅是界面元素產(chǎn)生的一般消息(鼠標(biāo)、鍵盤等)。槽(slot)是可以接收消息的特殊函數(shù)。2023年6月6日基本Qt程序程序運行效果組成:一個窗口一個字符串動作:運行顯示窗口關(guān)閉退出2023年6月6日程序清單hello.cpp1#include<QApplication>頭文件2#include<QLabel>頭文件3intmain(intargc,char*argv[]){主函數(shù)4QApplicationapp(argc,argv);應(yīng)用程序?qū)ο?QLabellabel("<i><b>HelloQt!</b><i>",0);標(biāo)簽對象6label.show();顯示標(biāo)簽窗口7returnapp.exec();啟動程序8}2023年6月6日程序編譯項目文件——項目文件格式:基本格式:變量名=值TEMPLATE=app含義:生成一個可執(zhí)行文件其它取值:lib,subdirs,vcapp,vclib;1TEMPLATE=app2QT+=coregui3QT+=widgets4INCLUDEPATH+=.5CONFIG+=qtwarn_onrelease6SOURCES+=hello.cpp2023年6月6日程序編譯含義:lib:生成庫文件subdirs:生成某個目錄下的編譯指導(dǎo)文件;vcapp:生成vc++支持的可執(zhí)行程序;vclib:生成vc++支持的庫文件。INCLUDEPATH+=.含義:將當(dāng)前目錄增加到頭文件的搜索路徑中去CONFIG+=qtwarn_onrelease含義:將CONFIG變量的值增加三個字符串其它取值:qt:生成的目標(biāo)是基于Qt庫的應(yīng)用程序或者程序庫;debug:編譯時打開調(diào)試信息;release:編譯時進行代碼優(yōu)化;warn_on:編譯時盡量多地報告警告信息;warn_off:編譯時僅報告嚴(yán)重的警告信息;2023年6月6日程序編譯程序編譯$$make$./hello2023年6月6日程序編譯命令分析必需的命令::根據(jù)項目文件生成Makefilemake:根據(jù)生成的Makefile編譯代碼生成可執(zhí)行文件——hello生成的文件:Makefile:指導(dǎo)make進行編譯的文件hello.o:編譯源文件得到的目標(biāo)文件hello:將目標(biāo)文件鏈接后得到的可執(zhí)行文件程序運行:通過輸入可執(zhí)行文件名運行:./hello得到程序界面2023年6月6日QtCreator開發(fā)Qt程序示例程序運行界面綠色:按鈕(QPushButton)紅色:LCD數(shù)碼顯示(QLCDNumber)藍色:編輯框(QLineEdit,QMultiLineEdit)btnQuitbtnStartbtnGolcdNumberlineEdittxtEditQtCreator開發(fā)Qt程序示例啟動QtCreator2023年6月6日QtCreator開發(fā)Qt程序示例利用向?qū)?chuàng)建程序框架2023年6月6日QtCreator開發(fā)Qt程序示例向?qū)В何恢媒缑?023年6月6日QtCreator開發(fā)Qt程序示例向?qū)В簶?gòu)建套件界面2023年6月6日QtCreator開發(fā)Qt程序示例向?qū)В侯愋畔⒔缑?023年6月6日QtCreator開發(fā)Qt程序示例向?qū)В簠R總界面2023年6月6日QtCreator開發(fā)Qt程序示例示例程序框架界面2023年6月6日2023年6月6日QtCreator開發(fā)Qt程序示例界面設(shè)計思路整個界面為一個界面元素;類型:Dialog基類:QDialog其它元素利用QtCreator放置在Dialog上;界面元素:btnQuitbtnStartbtnGolcdNumberlineEdittxtEdit元素之間利用QtCreator通過信號/槽進行通訊2023年6月6日QtCreator開發(fā)Qt程序示例程序結(jié)構(gòu)主函數(shù):main()功能:啟動消息循環(huán),顯示程序界面兩個類:類:Puzzle功能:完成產(chǎn)生隨機數(shù),并進行判斷類:Dialog功能:由QtCreator自動生成框架,是程序的主界面5個文件:main.cpp:定義主函數(shù)puzzle.h,puzzle.cpp:定義并實現(xiàn)類Puzzledialog.h,dialog.cpp:定義并實現(xiàn)類Dialog2023年6月6日QtCreator開發(fā)Qt程序示例文件目錄結(jié)構(gòu)當(dāng)前工作目錄./puzzle/puzzle.cpppuzzle.hmain.cppdialog.h;dialog.cppdialog.ui2023年6月6日類結(jié)構(gòu)類Puzzle的結(jié)構(gòu)符號含義:+:共有,public-:私有,private成員說明:answer:猜數(shù)字的答案;gen_answer():產(chǎn)生隨機數(shù)答案;get_answer():返回答案值;judge():將用戶的猜測和答案比較,得出比較結(jié)果;start():開始,調(diào)用過程產(chǎn)生答案;-intanswer-intgen_answer()+intjudge()+intget_answer()+voidstart()Puzzle2023年6月6日項目文件1QT+=coregui2greaterThan(QT_MAJOR_VERSION,4):QT+=widgets3TARGET=guess4TEMPLATE=app5SOURCES+=main.cpp\6dialog.cpp\7puzzle/puzzle.cpp8HEADERS+=dialog.h\9puzzle/puzz

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論