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

这篇博客介绍了如何在Fedora 23系统上使用wxWidgets 3.1.0、wxFormBuilder 3.1.70-33.1和Code::Blocks 16.01来创建GUI程序。详细步骤包括配置开发环境,使用wxFormBuilder设计窗口,创建窗口类,以及在Code::Blocks中构建wxWidgets工程,添加事件处理函数,并最终成功编译和运行程序。
摘要由CSDN通过智能技术生成

一、开发环境

  • 操作系统: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++文件名):
    修改好工程名称、文件名称

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

  3. 在屏幕右侧的对象偏好栏Events栏中的OnClose后填上“OnClose”,表明处理该窗口OnClose事件的事件处理函数的函数名为“OnClose”:
    填写处理该窗口OnClose事件的事件处理函数的函数名

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

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

  6. 在屏幕右侧的对象偏好栏里修改好静态文本的内容(label):
    修改静态文本的内容

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

  8. 在屏幕右侧的对象偏好栏里修改好按钮的内容(label):
    修改按钮的内容

  9. 在屏幕右侧的对象偏好栏Events栏中的OnButtonClick后填上“OnQuit”,表明处理该按钮OnButtonClick事件的事件处理函数的函数名为“OnQuit”:
    填写处理该按钮OnButtonClick事件的事件处理函数的函数名

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

  11. 保存工程,点击工具栏上的生成C++源代码文件按钮在保存工程的路径下生成类的C++源代码文件:
    生成类的C++源代码文件

  12. 点击菜单栏上的Tools菜单中的生成派生类的菜单项,生成派生类的C++源代码文件:
    生成派生类的C++源代码文件

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

  1. 使用Code::Blocks创建一个wxWidgets工程,关键步骤如下图:
    新建wxWidgets工程
    选择GUI构建器与应用程序类型
    勾选创建空工程
  2. 将刚刚由wxFormBuilder生成的四个文件添加进工程:
    将刚刚由wxFormBuilder生成的四个文件添加进工程
  3. 使用Code::Blocks新建一个wxApp派生类:
    使用Code::Blocks新建一个wxApp派生类
  4. 在TestApp类中增加virtual bool OnInit();虚函数:
    在TestApp类中增加OnInit虚函数

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

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

    dialog->Show();

    return true;
}

在testapp.cpp文件中实现OnInit函数
6. 在HelloMyDialog.cpp文件中重载OnClose和OnQuit两个事件处理函数,增加Destroy();注销窗口的语句;
重载事件处理函数
7. 编译并运行:
运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值