2017-01-23 81 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