《數(shù)字圖像處理及工程應(yīng)用》課件第15章_第1頁(yè)
《數(shù)字圖像處理及工程應(yīng)用》課件第15章_第2頁(yè)
《數(shù)字圖像處理及工程應(yīng)用》課件第15章_第3頁(yè)
《數(shù)字圖像處理及工程應(yīng)用》課件第15章_第4頁(yè)
《數(shù)字圖像處理及工程應(yīng)用》課件第15章_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2024/8/21第1頁(yè)第15章Code::Blocks入門15.1Code::Blocks主界面常用工具欄工程管理欄源代碼編輯區(qū)信息顯示區(qū)(1)打開Code::Blocks(2)Code::Blocks主界面:菜單欄、狀態(tài)欄、常用工具欄、工程管理視圖、源代碼編輯區(qū)和信息顯示區(qū)等部分圖15.1Code::Blocks主界面2024/8/21第2頁(yè)第15章Code::Blocks入門15.2工程創(chuàng)建15.2.1新建工程(1)【File】【New】【Project】圖15.2啟動(dòng)新建工程2024/8/21第3頁(yè)第15章Code::Blocks入門(2)【ConsoleApplication(控制臺(tái)應(yīng)用)】【go】注意:如果想創(chuàng)建一個(gè)基于wxWidgets的GUI風(fēng)格的應(yīng)用程序,則可以選擇【wxWidgetsProject】工程模板2024/8/21第4頁(yè)第15章Code::Blocks入門(3)【C++(編程語(yǔ)言)】【Next】圖15.4程序語(yǔ)言選擇對(duì)話框2024/8/21第5頁(yè)第15章Code::Blocks入門(4)【工程命名為“MyTest”】【D:\workspace】【Next】注意:工程名和路徑都是任意的,名稱一般是為了便于記憶和理解圖15.5工程命名及存放位置設(shè)置2024/8/21第6頁(yè)第15章Code::Blocks入門(5)【編譯器選擇和構(gòu)建選項(xiàng)設(shè)置】【Finish】注意:一般情況下,各選項(xiàng)默認(rèn)即可圖15.6編譯器及構(gòu)建選項(xiàng)設(shè)置2024/8/21第7頁(yè)第15章Code::Blocks入門15.2.2編輯“MyTest”工程的整體如下圖所示:注意:(1)在“Projects”下面可以查看所有的頭文件和源文件;(2)“main.cpp”為主函數(shù)。圖15.7新建工程圖示2024/8/21第8頁(yè)第15章Code::Blocks入門當(dāng)有需要?jiǎng)?chuàng)建新文件時(shí)(1)【File】【New】【File】(2)根據(jù)需要,選擇【C/C++頭文件】、【C/C++實(shí)現(xiàn)文件】和【空白文件】中的一種(3)文件命名及構(gòu)建模式設(shè)置,需要注意文件命名當(dāng)有需要添加/刪除文件時(shí)(1)在工程管理視圖中工程名上點(diǎn)擊鼠標(biāo)右鍵(2)選擇快捷菜單中相應(yīng)的命令2024/8/21第9頁(yè)第15章Code::Blocks入門15.2.3構(gòu)建與運(yùn)行編譯、鏈接有三種方式:(1)選擇菜單【Build】【Build】注意:可以直接點(diǎn)【運(yùn)行(run)】,也建議這樣做,會(huì)更簡(jiǎn)單、直接。2024/8/21第10頁(yè)第15章Code::Blocks入門(2)快捷鍵:<Build>Ctrl+F9<Run>Ctrl+F10(3)工具欄:,自左至右依次為<Build>、<Run>、<Buildandrun>、<Rebuild>和<Abort:終止當(dāng)前操作命令>。2024/8/21第11頁(yè)第15章Code::Blocks入門構(gòu)建日志顯示:如果代碼中存在錯(cuò)誤或警告,則會(huì)在“Buildmessages”顯示出來(lái),包括出錯(cuò)文件、行號(hào)和具體出錯(cuò)提示信息,這時(shí)我們就需要點(diǎn)擊相應(yīng)的出錯(cuò)提示,對(duì)源代碼進(jìn)行反復(fù)的修改,直到構(gòu)建成功為止。注意:錯(cuò)誤一定要改;警告可以忽略,也可以進(jìn)行修改。圖15.13Build日志顯示2024/8/21第12頁(yè)第15章Code::Blocks入門15.2.4代碼調(diào)試1、斷點(diǎn)的設(shè)置/取消(1)菜單【Debug】<Togglebreakpoint>,設(shè)置斷點(diǎn)(1')在當(dāng)前源文件行號(hào)處,單擊鼠標(biāo)左鍵,取消斷點(diǎn)(2)運(yùn)行(run),程序運(yùn)行到斷點(diǎn)處(3)菜單【Debug】【Continue】,繼續(xù)運(yùn)行注意:可以在當(dāng)前行的最左邊點(diǎn)一下,就可以設(shè)置/取消斷點(diǎn)。目前,很多大型軟件都具有這個(gè)功能。2024/8/21第13頁(yè)第15章Code::Blocks入門2、調(diào)試窗口菜單【Debug】<Debuggingwindows><Breakpoints>:查看斷點(diǎn)設(shè)置情況;<Examinememory>:內(nèi)存查看;<Runningthreads>:正在的運(yùn)行的線程;<Watches>:查看變量、參數(shù)的值,可以自行通過(guò)快捷菜單添加、刪除。2024/8/21第14頁(yè)第15章Code::Blocks入門15.3GUI界面設(shè)計(jì)15.3.1wxWidgets窗口1、wxWidgets窗口解析(1)客戶區(qū)(ClientArea)(2)滾動(dòng)條(ScrollBar)(3)頂層窗口(TopWindow)(4)坐標(biāo)體系(CoordinateSystem)(5)窗口繪制(Repainting)(6)改變大小(Resizing)(7)窗口類型圖15.19窗口示意圖2024/8/21第15頁(yè)第15章Code::Blocks入門2、wxWidgets主要窗口類類別名稱用途/含義基本窗口類wxWindow所有窗口類的基類wxControl所有控件的基類wxControlWithItems擁有多個(gè)子項(xiàng)目的控件基類頂層窗口類wxFrame可以包含其他子窗口、大小可變的窗口類wxMDIParentFrame管理其他Frame類的類wxMDIChildFrame可以被其父窗口管理的Frame類wxDialog對(duì)話框類容器窗口類wxPanel給其他窗口提供布局的窗口類wxNotebook可以使用Tab頁(yè)面切換的窗口類wxScrolledWindow帶滾動(dòng)條的窗口類wxSplitterWindow分割窗口類靜態(tài)控件類wxGauge、wxStaticText、wxStaticBitmap、wxStaticLine、wxStaticBox非靜態(tài)控件類wxButton、wxBitmapButton、wxChoice、wxComboBox、wxCheckBox等等菜單wxMenu用于主菜單或彈出菜單控件條wxMenuBarwxFrame上的菜單條wxToolBar工具條wxStatusBar狀態(tài)條2024/8/21第16頁(yè)第15章Code::Blocks入門3、wxWidgets窗口布局(1)wxWidgets的窗口布局使用窗口布局控件(2)wxWidgets的布局控件可以進(jìn)行非常復(fù)雜的窗口布局(3)窗口布局控件建立的是一種包含繼承關(guān)系,開銷較小2024/8/2115.3.2wxWidgets標(biāo)準(zhǔn)對(duì)話框第15章Code::Blocks入門1、信息對(duì)話框(1)wxMessageDialog(2)wxMessageBox對(duì)應(yīng)按鈕wxMessageDialogwxMessageBoxOkwxOKwxID_OKCancelwxCANCELwxID_CANCELYeswxYESwxID_YESNowxNowxID_NO(3)wxProgressDialog(4)wxBusyInfo第17頁(yè)表15.2wxMessageBox和wxMessageDialog的返回值2024/8/21第15章Code::Blocks入門2、文本和目錄對(duì)話框(1)wxFileDialog(2)wxDirDialog3、選擇和選項(xiàng)對(duì)話框(1)wxColourDialog(2)wxFontDialog(3)wxSingleChoiceDialog和wxMultiChoiceDialog4、輸入對(duì)話框wxNumberEntryDialog、wxTextEntryDialog等第18頁(yè)2024/8/21第15章Code::Blocks入門第19頁(yè)15.3.3wxFormbuilder1、利用wxFormbuilder進(jìn)行UI設(shè)計(jì)的步驟(1)在界面中增加容器組件(如Frame、Diloag等);(2)在容器組件中增加各種布局控件sizer(如VerticalSizerBox、FlexGridSizer等);(3)在布局控件中增加各種控件(如Button、Statictext等);(4)對(duì)布局控件和包含其中的組件進(jìn)行參數(shù)設(shè)置;(5)添加控件的事件響應(yīng)動(dòng)作;(6)自動(dòng)生成代碼。2024/8/21第15章Code::Blocks入門第20頁(yè)15.3.4GUI設(shè)計(jì)舉例1、自定義對(duì)話框GUI界面的設(shè)計(jì)步驟(1)確定窗口繼承關(guān)系;(2)在wxFormbuilder中新建一個(gè)工程,或通過(guò)Code::Blocks打開已有的fbp文件;(3)向工程中添加一個(gè)對(duì)話框;(4)向?qū)υ捒蛑刑砑涌丶貌季秩萜鬟M(jìn)行布局;(5)設(shè)置各控件的屬性;(6)增加事件映射以及事件處理函數(shù);(7)在應(yīng)用程序中調(diào)用這個(gè)對(duì)話框。2024/8/21第15章Code::Blocks入門第21頁(yè)2、自定義對(duì)話框GUI界面的設(shè)計(jì)過(guò)程(1)確定組件及布局關(guān)系圖15.22對(duì)話框?qū)ο髽鋱D15.23窗口繼承關(guān)系2024/8/21第15章Code::Blocks入門第22頁(yè)(2)新建或打開wxFormbuilder工程文件,此例選擇從Code::Blocks中打開fbp文件。如圖15.14所示,雙擊Others\WxWizDialog.fbp。圖15.24打開fbp文件以編輯(Code::Blocks)2024/8/21第15章Code::Blocks入門第23頁(yè)(3)打開wxFormbuilder設(shè)計(jì)界面圖15.26wxFormbuilder設(shè)計(jì)界面2024/8/21第15章Code::Blocks入門第24頁(yè)(4)向?qū)υ捒蛑刑砑涌丶筒季秩萜?,使各控件都處于正確的狀態(tài),包括布局容器的屬性項(xiàng)設(shè)置、控件的位置、大小和自動(dòng)縮放等屬性圖15.28屬性設(shè)置圖15.29添加控件并布局后的對(duì)話框2024/8/21第15章Code::Blocks入門第25頁(yè)容器名稱屬性名boxSizer3fgSizer1fgSizer2fgSizer3fgSizer4fgSizer5fgSizer6orient垂直........................rows....341141cols....114611growablerows....0,22,30030growablecols....000,1,2,31,3,400flexibledirection....wxBothwxBothwxBothwxHori…wxBothwxBoth屬性名控件nameid垂直居中水平居中擴(kuò)展伸縮邊界姓名m_TextNameID_NAMEYesYesYesYesAll年齡m_SpinAgeID_AGEYesYesYesNoAll性別m_ChoiceSexID_SEXYesYesYesNoAll投票m_CheckVoteID_VOTEYesYesYesNoAll復(fù)位m_btnResetID_BTNRESETYesYesYesNoAll確認(rèn)m_btnOkID_BTNOKYesYesYesNoAll取消m_btnCancelID_BTNCANCELYesYesYesNoAll幫助m_btnHelpID_BTNHELPYesYesYesNoAll表15.3布局容器及其主要屬性表15.4主要控件的屬性PersonalRecord對(duì)話框用到的布局容器及控件屬性2024/8/21第15章Code::Blocks入門第26頁(yè)(5)為控件添加事件處理函數(shù),以響應(yīng)用戶對(duì)控件的操作圖15.30為控件添加事件處理函數(shù)2024/8/21第15章Code::Blocks入門PersonalRecord對(duì)話框添加的事件處理函數(shù)列表表15.5主要控件事件及處理函數(shù)事件控件名稱事件處理函數(shù)何時(shí)觸發(fā)m_btnOkOnButtonClickOnBtnOk用戶鼠標(biāo)左鍵單擊時(shí)m_btnCancelOnButtonClickOnBtnCancel用戶鼠標(biāo)左鍵單擊時(shí)m_btnResetOnButtonClickOnBtnReset用戶鼠標(biāo)左鍵單擊時(shí)m_btnHelpOnButtonClickOnBtnHelp用戶鼠標(biāo)左鍵單擊時(shí)m_ChkVoteOnUpdateUIOnChkVoteUI用于處理UI更新第27頁(yè)2024/8/21第15章Code::Blocks入門(6)為界面生成Code::Blocks源代碼并生成派生類1)生成代碼:點(diǎn)擊wxFormbuilder工具欄上的“GenerateCode”按鈕圖15.31生成代碼第28頁(yè)2024/8/21第15章Code::Blocks入門2)生成派生類:調(diào)用菜單ToolsGenerateInheritedClass,指定派生類名即可圖15.

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論