新 window 不在带有按钮回调的 fltk 中打开

New window not opening in fltk with button callback

我创建了一个按钮,点击它会通过回调打开一个新的 window 但是当点击这个按钮时没有任何反应但是当它被释放时它会闪烁新的 window 并且不允许我去看看新的内容window。请提供任何帮助,我们将不胜感激。

回调

//Callback for advanced search
static void ad_cb(Fl_Button *theButton, void*)
{
    Fl_Window adw (10,10,600,400);
    Fl_Button  adcc (30,40,120,20,"Advanced Search");
    adcc.tooltip ("Make advanced search");
    adw.show();


}

按钮

Fl_Button  ad (30,460 + 40,120,20,"Advanced Search");
    ad.tooltip ("Make advanced search");
    ad.callback((Fl_Callback*)ad_cb);

函数一退出就调用析构函数。这就是为什么你只看到闪光。改成

//Callback for advanced search
static void ad_cb(Fl_Button *theButton, void*)
{
    Fl_Window* adw = new Fl_Window (10,10,600,400);
    Fl_Button*  adcc = new Fl_Button (30,40,120,20,"Advanced Search");
    adcc->tooltip ("Make advanced search");
    adw->show();
}

您可以通过点击顶角的 x 关闭 window。