分类

wxFormBuilder v3.9 官方最新版

wxFormBuilder v3.9 官方最新版 xx

大小:19.6MB更新日期:2018/12/18

类别:系统软件语言:简体中文

已下架
    wxFormBuilder是一款还算不错的编程工具,你可以使用wxFormBuilder来设计好界面,生成XRC文件,当然不想给别人看到xrc文件的内容也可以用工具编译为二进制文件,参考wx.chm文档吧。之后程序载入界面再绑定行为很优雅和高效。wxFormBuilder设计好之后按f5直接看运行效果很赞。

    【基本介绍】

    安装完成后,打开wxFormBuilder,可以在左侧工程子窗口里看到已经有一个默认的MyProject1了,我们在里面添加一个Dialog,一个wxStaticText和一个wxButton。

    步骤如下:

    1.添加一对话框。


    2.填入对话框的控制和sizers 。 wxFormBuilder只支持 基础布局的Sizer ,所以不得不增加一个 Sizer让 能够插入控制。

    转到组件面板,并点击 Layout (布局)标签。 然后, 点击第一个图标 创建一个方块Sizer。


    3.添加一些控制到Sizer,例如,一个wxStaticText和一个wxButton。



    完成wxFormBuilder的布局设计后,通过下方选项卡将窗口切换到C++代码模式,可以看到C++代码包括一个.h头文件一个.cpp源文件。

    接着,新建一空win32工程,注意是非控制台的。再新建空.h和.cpp文件后,配置工程(配置方法: http://www.cnblogs.com/lxt287994374/p/3590066.html )。

    把wxFormBuilder中的代码都拷贝到刚刚建立的VS工程里,这里要注意VS工程里的.h和.cpp文件名。


    此时,我们还不能正常运行程序,因为我们通过wxFormBuilder建立的都只是单个窗体,是没有程序入口点的。我们要让程序运行起来,需要实现wxApp里面的方法,我们在刚刚拷贝生成的.h头文件的include块下加入如下代码:

    #include
    class MyApp: public wxApp
    {
    public:
    virtual bool OnInit();
    };

    然后在.cpp源文件的include块下里加入如下代码:

    IMPLEMENT_APP(MyApp)

    bool MyApp::OnInit()
    {
    if(!wxApp::OnInit())
    return false;

    MyDialog1 *dlg=new MyDialog1(NULL);
    dlg->Show();

    return true;
    }


    完成之后运行程序,就能得到能过wxFormBuilder设计好的实际运行结果了:


    【详细使用教程】

    ?1、打开wxFormBuilder,按开始一个空项目。您也可以执行File|New来创建新项目


    2、从Object Properties(对象属性)面板配置项目的设置
    A、选择产生什么类型的代码。 现在你可以生成C++和/或XRC代码。
    B、设置生成文件的文件名(只有名称,没有扩展名)。
    C、为您的项目输入一个名称。
    D、设置代码生成的路径。相对路径“.” 将导致代码生成和项目文件相同的目录中。
    E、如果你想所有的文件引用您的项目(例如图像)产生一个相对路径,请选中relative_path 选项 。
    F、保存项目。


    3、转到组件面板,然后按一下Forms标签。 然后,创建一个对话框,按一下第三个图标


    现在在对话框中显示的对象树。


    4、现在您可以在对话框中的Object Properties(对象属性)面板配置属性。 例如,改变对话框名称为TutorialDialogGui 。 这个名字也将要产生的C++类的名称

    5、在此之后,您准备填入您的对话框的控制和sizers 。 wxFormBuilder只支持基础布局的Sizer,所以你将不得不增加一个Sizer能够插入控制。 转到组件面板,并点击Layout(布局)标签。 然后,点击第一个图标创建一个方块Sizer


    6、添加一些控制到Sizer,例如,两个按钮。去Common(通用)标签,并按下第一个图标(OK)两次。


    7、在Object Properties(对象属性)面板的label property 中更改图标的标签。 例如,将第一个按钮的标签的属性设为&Show a message,第二个为&Close。同样,分别设置第一个和第二个按钮的id 属性为ID_SHOWMESSAGE和wxID_OK


    第一个按钮的属性设置。
    8、现在,现在是时候增加事件处理程序的按钮。在Object Properties(对象属性)面板中切换到Events标签。 设定第一个按钮的OnButtonClick的值为OnShowMessage,第二个按钮的值设置为OnClose


    第一个按钮的Events
    9、现在,你可以生成代码了!按F8 或 。 如果一切正确的话,在状态栏中你会看到一条消息表示代码已成功产生。 您可以在C++标签中查看输出的代码


    10、现在是把生成的代码集成到您的IDE(Visual C++, Dev-C++, Code::Blocks...)中的时候了。加所产生的文件(tutorial_gui.h/CPP)到你的Project(项目)中
    11、每次从wxFormBuilder生成的代码时,你的文件将被最后一次产生的代码所覆盖,所以你不能直接增加你的事件处理程序到该文件中。因此,从Tools | Generate Inherited Class(或F6)启动Generate Inherited Class(生成继承类向导)的办法在 wxFormBuilder中生成子类


    继承类生成对话框
    12、选择Form的名称TutorialDialogGui ,你可以修改所产生的类的名称


    选定Form的名称
    13、修改类的名称为TutorialDialog,文件名为tutorial,请确保选中该框,然后单击“OK”(确定)


    名称变了,Form也选中了。
    14、点击“确定”的对话框中,如果一切顺利的话您会看到一个“类生成的”消息在状态栏中。你可以在的保存项目文件目录下找到生成的代码文件tutorial.cpp和tutorial.h
    头文件如下:
    #ifndef __tutorial__
    #define __tutorial__

    #include "tutorial_gui.h"

    class TutorialDialog : public TutorialDialogGui
    {
    public:
    TutorialDialog( wxWindow* parent );
    };

    #endif // __tutorial__
    这是例程的源文件:
    #include "tutorial.h"
    TutorialDialog::TutorialDialog( wxWindow* parent ) : TutorialDialogGui( parent ) {
    }
    15、现在,您需要添加的执行你的事件处理程序的到生成类TutorialDialog。 事件表是产生tutorial_gui文件中,因此您只需要添加函数到TutorialDialog类。 这里有两个文件的事件处理程序需要添加

    在头文件看起来就像这样:
    #ifndef __tutorial__
    #define __tutorial__

    #include "tutorial_gui.h"

    class TutorialDialog : public TutorialDialogGui
    {
    public:
    TutorialDialog( wxWindow* parent );

    protected:
    // Event handlers
    void OnShowMessage( wxCommandEvent& event );
    void OnClose( wxCommandEvent& event );
    };

    #endif // __tutorial__

    这是例子的源文件:
    #include "tutorial.h"
    #include
    #include

    TutorialDialog::TutorialDialog( wxWindow* parent )
    :
    TutorialDialogGui( parent )
    {

    }

    void TutorialDialog::OnShowMessage( wxCommandEvent& event ) {
    wxMessageBox( wxT("wxFormBuilder Tutorial) );
    }

    void TutorialDialog::OnClose( wxCommandEvent& event )
    {
    wxTheApp->Exit();
    }

    16、你现在缺少主应用的源文件。 新增两个新的文件到您的项目,并在OnInit() 函数中创建对象的类TutorialDialog 的wxApp派生类

    在头文件看起来可能会像这样:

    #ifndef __WXWIDGETSAPP_H
    #define __WXWIDGETSAPP_H

    #include

    class wxWidgetsApp : public wxApp
    {
    public:
    wxWidgetsApp();
    virtual ~wxWidgetsApp();
    virtual bool OnInit();
    };

    DECLARE_APP(wxWidgetsApp)

    #endif
    源文件看起来可能会像这样:
    #include wxWidgetsApp.h
    #include tutorial.h

    IMPLEMENT_APP(wxWidgetsApp)

    wxWidgetsApp::wxWidgetsApp()
    {
    }

    wxWidgetsApp::~wxWidgetsApp()
    {
    }

    bool wxWidgetsApp::OnInit()
    {
    TutorialDialog* dialog = new TutorialDialog( (wxWindow*)NULL );
    dialog ->Show();
    SetTopWindow( dialog );
    return true;
    }

    显示全部

    网友评论
    我要跟贴
    精品推荐

    猜你喜欢

    • 沙威玛传奇
    • 真人互动剧情类手游
    • 最真实的警察模拟类游戏
    • 中式风格恐怖游戏
    • 末日生存打僵尸游戏

    沙威玛传奇

    沙威玛传奇是款很受玩家欢迎的手机游戏,这款游戏中有超多不同国家的美食食谱,您可以感受到土耳其的风土人情,还能用美食征服全世界的顾客!喜欢美食经营及美食制作的顾客千万不能错过。

    相关下载

    0