【问题标题】:Can I change a FL_Window's caption other than in a constructor argument?除了构造函数参数之外,我可以更改 FL_Window 的标题吗?
【发布时间】:2012-01-10 15:09:48
【问题描述】:
MainWindow::MainWindow(int w, int h, const string& c)
: Fl_Window(w, h, c.c_str()) // Don't call constructor over here
{
    script.load_file(WIN_CONFIG_SCRIPT);

    int width = script.get_global_int("width");
    int height = script.get_global_int("height");

    const char* caption = script.get_global_string("caption").c_str();

    /** CALL CONSTRUCTOR NOW **/

    //NOTE: I don't know a way to change an FLTK Fl_Window's Caption after 
    //initialising it.

    Toolbar* toolbar = new Toolbar(0, 0, this->w(),30);
    toolbar->add_button("Hello");
    toolbar->add_button("World!");

    end();
}

如何在构造函数内部初始化基类?或者,我如何更改 FLTK Fl_Window 的标题初始化它?有什么其他方法可以摆脱这种混乱吗?

【问题讨论】:

    标签: c++ fltk


    【解决方案1】:

    如何在构造函数中初始化基类?

    你可能不会。

    实例的基础部分必须在实例的派生部分或其任何成员之前初始化。


    如何在初始化后更改 FLTK Fl_Window 的标题?

    The documentation说你可以打电话:

    label("my caption")
    

    这有什么问题?


    还有什么办法可以摆脱这种混乱吗?

    没有。


    另外,您应该升级到 FLTK 2。

    【讨论】:

    • (+1) 谢谢。这些天你帮了我很多,你也回答了我最近提出的 3 到 4 个问题,再次感谢。
    • 不幸的是,FLTK 2 是一个死分支。开发人员现在专注于 FLTK 3。所以我建议他使用 FLTK 1.3 或 FLTK 3。FLTK 2 仍然(恕我直言)领先于两者,但逐渐将 FLTK 2 中的所有好东西移植到 FLTK 3。
    • @Mr.Anubis:一个是新的。另一个不是。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-20
    • 2017-09-14
    • 2011-04-21
    • 1970-01-01
    • 1970-01-01
    • 2020-04-07
    • 2019-01-14
    相关资源
    最近更新 更多