2017-01-23 55 views
-2

我创建了一个按钮,当点击它时会通过回调打开一个新窗口,但是当这个按钮被点击时什么也没有发生,但是当它被释放时它会闪烁新窗口并且不允许我在新窗口中查看内容。请任何帮助,将不胜感激。新窗口没有在fltk中用按钮回调打开

回调

//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); 
+1

请提供[mcve]。 –

回答

1

调用析构函数,只要函数退出。这就是为什么你只看到闪光灯。将其更改为

//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来关闭窗口。

+0

非常感谢你的答复,它解决了我的问题,但请我想使主窗口不工作,直到按钮所调用的窗口关闭 – Maxfurry

+0

使它成为模态 - 请参阅http://stackoverflow.com/questions/25805938 /创建定制-FLTK-对话框模态窗口 – cup