Windows 7+Code::Blocks+wxWidgets实录(一)
環境配置篇
玩過Linux的人應該對Code::Blocks和wxWidgets并不陌生。
Code::Blocks是一款非常有名的代碼編輯器,在linux下用不慣vim的話,這是個不錯的選擇。但千萬不要把它和編譯器混淆,CB本身并沒有獨立編譯程序的功能,需要調用系統已經安裝好的編譯器,比如Linux下的GCC,Windows下的VC編譯器。所以,在系統本身并沒有編譯器的前提下,是不能使用CB的。不過在其官網下載的windows版的CB,可以選擇安裝MinGW編譯器。這款編譯器就是大名鼎鼎的GNU的Windows版本。
wxWidgets是一個出色的應用程序開發框架,具有良好的跨平臺性。用其開發圖形界面應用程序簡潔、高效。最新版本為wxWidgets2.9.3(http://sourceforge.net/projects/wxwindows/files/2.9.3/)。這個版本是未編譯版本,不能直接進行wxWidgets程序的開發。推薦下載wxWidgets2.8.12版本的wxPack(http://wxpack.sourceforge.net/Main/Downloads),這個版本是編譯好的,可以直接進行wx程序的開發。
選擇CB作為wxWidgets程序開發的編輯器是因為CB對wxWidgets程序有著先天的支持,并且可以配合wxSmith插件,可以進行可視化的圖形界面設計,就像MFC的界面編輯一樣。
正常安裝好后,就可以開始我們的wxWidgets程序開發了。
wxWidgets小試牛刀
建立一個新的wxWidgets項目,CB對wx的支持能力由此凸顯出來了。
選擇我們的wx版本,2.8
選擇界面編輯器,選擇wxSmith。wxFormatBuilder也是一款強大的界面編輯器,但是在Linux下很容易崩潰,給我留下了很不好的印象。況且,wxSmith是CB的一個插件,集成在IDE中,用起來更方便。
這里填寫wx安裝的根目錄,CB會自動配置include、lib等目錄。再一次贊一個CB對wx的支持。
那些控件、布局可以自己動手試一試。如果搞過MFC、GTK、QT什么的,應該對這些都不陌生。
wxWidgets是基于消息機制的,跟MFC很類似,跟QT不同。wx內部維護一個消息循環,對某一消息的響應函數,需要注冊,像MFC的DDX等宏一樣。wx注冊位置在
BEGIN_EVENT_TABLE(wxTestDialog,wxDialog)//(*EventTable(wxTestDialog)//*)
END_EVENT_TABLE() 比如,我們想為一個ID為ID_BTN_OK的按鈕注冊一個消息響應函數,可以這樣:
(1)在Main類中聲明一個void OnOk(wxCommandEvent& event)的消息響應函數
(2)在上述位置注冊消息響應函數
BEGIN_EVENT_TABLE(wxTestDialog,wxDialog)//(*EventTable(wxTestDialog)//*)
EVT_MENU(ID_BTN_OK,wxTestDialog::OnOk)//注意這里,沒有分號
END_EVENT_TABLE() ?
(3)實現OnOk函數。
wx在消息循環中,沒有判定消息的具體類型,比如我們只知道ID_BTN_OK這個按鈕控件有事件發生,有消息產生,但并不知道是按下、松開、或是其他消息。我們需要在響應函數中,調用event.GetEventType來確定。
?
?
以上是項目開發實錄,會隨著項目的開發,對wxWidgets進行更深入的記錄。
轉載于:https://www.cnblogs.com/raymon/archive/2012/03/14/2396727.html
總結
以上是生活随笔為你收集整理的Windows 7+Code::Blocks+wxWidgets实录(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 换一个小米3后壳需要多少钱
- 下一篇: 关于java和c的选择结构和循环结构