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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論