wxWidgets学习笔记(二):使用wxFormBuilder、wxWidgets和Code::Blocks创建GUI程序

一、开发环境

  • 操作系统: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(解压源码包后进入顶层目录依次输入./configuremakesudo make install三条命令)
  • wxFormBuilder版本:3.1.70-33.1(到pkg.org下载并安装)

二、使用wxFormBuilder创建窗口类

  1. 打开wxFormBuilder,wxFormBuilder会自动新建一个工程,然后在屏幕右侧的对象偏好栏里修改并填写好工程名、文件名(这决定了后面wxFormBuilder生成的C++文件名):
    wxWidgets学习笔记(二):使用wxFormBuilder、wxWidgets和Code::Blocks创建GUI程序_第1张图片

  2. 在屏幕中间控件面板的Forms栏中点击Dialog按钮(左数第三个)新建一个Dialog窗口:
    新建一个Dialog窗口

  3. 在屏幕右侧的对象偏好栏Events栏中的OnClose后填上“OnClose”,表明处理该窗口OnClose事件的事件处理函数的函数名为“OnClose”:
    wxWidgets学习笔记(二):使用wxFormBuilder、wxWidgets和Code::Blocks创建GUI程序_第2张图片

  4. 在屏幕中间控件面板的Layout栏中点击wxBoxSizer按钮(左数第一个)新建一个Sizer:
    新建一个Sizer

  5. 在屏幕中间控件面板的Common栏中点击wxStaticText按钮(左数第三个)新建一个静态文本:
    新建一个静态文本

  6. 在屏幕右侧的对象偏好栏里修改好静态文本的内容(label):
    wxWidgets学习笔记(二):使用wxFormBuilder、wxWidgets和Code::Blocks创建GUI程序_第3张图片

  7. 在屏幕中间控件面板的Common栏中点击wxButton按钮(左数第一个)新建一个按钮:
    新建一个按钮

  8. 在屏幕右侧的对象偏好栏里修改好按钮的内容(label):
    wxWidgets学习笔记(二):使用wxFormBuilder、wxWidgets和Code::Blocks创建GUI程序_第4张图片

  9. 在屏幕右侧的对象偏好栏Events栏中的OnButtonClick后填上“OnQuit”,表明处理该按钮OnButtonClick事件的事件处理函数的函数名为“OnQuit”:
    wxWidgets学习笔记(二):使用wxFormBuilder、wxWidgets和Code::Blocks创建GUI程序_第5张图片

  10. 点击工具栏上的垂直居中按钮按钮使按钮和静态文本垂直居中;

  11. 保存工程,点击工具栏上的生成C++源代码文件按钮在保存工程的路径下生成类的C++源代码文件:
    wxWidgets学习笔记(二):使用wxFormBuilder、wxWidgets和Code::Blocks创建GUI程序_第6张图片

  12. 点击菜单栏上的Tools菜单中的生成派生类的菜单项,生成派生类的C++源代码文件:
    wxWidgets学习笔记(二):使用wxFormBuilder、wxWidgets和Code::Blocks创建GUI程序_第7张图片

三、使用Code::Blocks创建wxWidgets工程

  1. 使用Code::Blocks创建一个wxWidgets工程,关键步骤如下图:
    wxWidgets学习笔记(二):使用wxFormBuilder、wxWidgets和Code::Blocks创建GUI程序_第8张图片
    wxWidgets学习笔记(二):使用wxFormBuilder、wxWidgets和Code::Blocks创建GUI程序_第9张图片
    wxWidgets学习笔记(二):使用wxFormBuilder、wxWidgets和Code::Blocks创建GUI程序_第10张图片
  2. 将刚刚由wxFormBuilder生成的四个文件添加进工程:
    wxWidgets学习笔记(二):使用wxFormBuilder、wxWidgets和Code::Blocks创建GUI程序_第11张图片
  3. 使用Code::Blocks新建一个wxApp派生类:
    wxWidgets学习笔记(二):使用wxFormBuilder、wxWidgets和Code::Blocks创建GUI程序_第12张图片
  4. 在TestApp类中增加virtual bool OnInit();虚函数:
    wxWidgets学习笔记(二):使用wxFormBuilder、wxWidgets和Code::Blocks创建GUI程序_第13张图片

  5. 在testapp.cpp文件中增加包含HelloMyDialog.h头文件的预编译指令,增加启动TestApp类的IMPLEMENT_APP(TestApp);宏,并且实现OnInit函数:

bool TestApp::OnInit()
{
    HelloMyDialog* dialog = new HelloMyDialog(0L);

    dialog->Show();

    return true;
}

wxWidgets学习笔记(二):使用wxFormBuilder、wxWidgets和Code::Blocks创建GUI程序_第14张图片
6. 在HelloMyDialog.cpp文件中重载OnClose和OnQuit两个事件处理函数,增加Destroy();注销窗口的语句;
wxWidgets学习笔记(二):使用wxFormBuilder、wxWidgets和Code::Blocks创建GUI程序_第15张图片
7. 编译并运行:
运行结果

你可能感兴趣的:(wxWidgets)