说明
哈喽,我是杨小乐,一个初入行业的菜鸟,这里简单分享下wxWidget的初步认识,如有错误,欢迎指正。
一个wxWidget+FormBuilder的简单项目,包括以下几个部分,如图:
include里一般放头文件,头文件里放各种引用的库文件。
resources里放的gui.fbp,也就是FormBuilder的可视化界面。
src一般是实现文件 .cpp
gui.h
界面定义文件:这里代码省略了引用的一些头文件,因为用类codelite集成开发环境,会自动载入。
//定义主窗体类 class Frame declaration
class MainFrameBase : public wxFrame
{
private:
protected: //定义控件 widget declaration
wxMenuBar* m_menuBar;
wxMenu* m_menuFile;
wxStatusBar* m_statusBar;
// Virtual event handlers, overide them in your derived class
virtual void OnCloseFrame( wxCloseEvent& event ) {
event.Skip(); }
virtual void OnExitClick( wxCommandEvent& event ) {
event.Skip(); }
public: //主窗体构造函数
MainFrameBase( wxWindow* parent, wxWindowID id = wxID_ANY,
const wxString& title = _("wxMiniApp"), const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxSize( 500,300 ), long style = wxCLOSE_BOX|wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL );
~MainFrameBase();
};
gui.cpp
界面实现文件:这里是纯图形实现,最好不要有函数功能的具体实现,因为一旦在FormBuilder里更改界面或增加控件,就会刷新gui.cpp。所以要采取界面和实现分离的设计。