简单入门
需求
学习完了网络编程后,我不满足于只写一个仅仅有服务器端的东西,就想写一个客户端的一些东西,想学习一个简单的,轻量级的
C++UI框架。而wxWidget恰好满足我的需求。
而这里面的思想和我前面提到过的一个简单的UI框架思想大方向都是类似的。
参考
- Tutorial
- 《使用wxWidget进行跨平台程序开发》
Simple
这里直接改编自《官方社区的一个手册》中的一个例子。
大的东西我认为四个东西比较重要。
- wxApp
- wxFrame
- wxPanel
- wxSizer
wxApp
必须有!!!
这是wxWidget中抽象你的程序的类,可以直接理解为客户端。你的客户端需要继承这个类。这样的你的这个客户端就会被单例实现。
class Client
: public wxApp
{
public:
virtual bool OnInit()
{
return true;
}
};
- 必须实现OnInit方法
- 必须return true,此时开启事件循环,wxWidget将一直loop侦听事件发生。
wxIMPLEMENT_APP(Client);
不需要编写main函数,上面这个宏将会帮我们实现main函数。
wxFrame
必须有!!!
Frame类,顶层窗口。指的就是这个
Frame可以被放大,可以被关闭,有一块"白布"——叫做客户区,Frame中的子窗口就在这个区域中。
wxFrame(wxWindow *parent, wxWindowID id, const wxString& title,
const wxPoint &pos, const wxSize &size)
- parent 指的是父窗口。