一、开发环境
- 操作系统:Fedora 23
- 集成开发环境:Code::Blocks 16.01
- G++版本:5.3.1
- GTK+版本:2.24.30(使用命令
sudo dnf install gtk2 gtk2-devel gtk2-devel-docs
安装) - wxWidgets版本:3.1.0(解压源码包后进入顶层目录依次输入
./configure
、make
、sudo make install
三条命令) - wxFormBuilder版本:3.1.70-33.1(到pkg.org下载并安装)
二、使用wxFormBuilder创建窗口类
打开wxFormBuilder,wxFormBuilder会自动新建一个工程,然后在屏幕右侧的对象偏好栏里修改并填写好工程名、文件名(这决定了后面wxFormBuilder生成的C++文件名):
在屏幕中间控件面板的Forms栏中点击Dialog按钮(左数第三个)新建一个Dialog窗口:
在屏幕右侧的对象偏好栏Events栏中的OnClose后填上“OnClose”,表明处理该窗口OnClose事件的事件处理函数的函数名为“OnClose”:
在屏幕中间控件面板的Layout栏中点击wxBoxSizer按钮(左数第一个)新建一个Sizer:
在屏幕中间控件面板的Common栏中点击wxStaticText按钮(左数第三个)新建一个静态文本:
在屏幕右侧的对象偏好栏里修改好静态文本的内容(label):
在屏幕中间控件面板的Common栏中点击wxButton按钮(左数第一个)新建一个按钮:
在屏幕右侧的对象偏好栏里修改好按钮的内容(label):
在屏幕右侧的对象偏好栏Events栏中的OnButtonClick后填上“OnQuit”,表明处理该按钮OnButtonClick事件的事件处理函数的函数名为“OnQuit”:
点击工具栏上的按钮使按钮和静态文本垂直居中;
保存工程,点击工具栏上的按钮在保存工程的路径下生成类的C++源代码文件:
点击菜单栏上的Tools菜单中的生成派生类的菜单项,生成派生类的C++源代码文件:
三、使用Code::Blocks创建wxWidgets工程
- 使用Code::Blocks创建一个wxWidgets工程,关键步骤如下图:
- 将刚刚由wxFormBuilder生成的四个文件添加进工程:
- 使用Code::Blocks新建一个wxApp派生类:
在TestApp类中增加
virtual bool OnInit();
虚函数:
在testapp.cpp文件中增加包含HelloMyDialog.h头文件的预编译指令,增加启动TestApp类的
IMPLEMENT_APP(TestApp);
宏,并且实现OnInit函数:
bool TestApp::OnInit()
{
HelloMyDialog* dialog = new HelloMyDialog(0L);
dialog->Show();
return true;
}
6. 在HelloMyDialog.cpp文件中重载OnClose和OnQuit两个事件处理函数,增加Destroy();
注销窗口的语句;
7. 编译并运行: