2015-10-18 73 views
0

我創建了一個彈出的gtkdialogbox,提示用戶輸入。 這裏是我的代碼:gtk_entry_set_activates_default沒有做到神奇

GtkWidget *button = gtk_button_new_with_label ("add a new button"); 
     //adding a new button 
     GtkWidget * new_button_dialog = gtk_dialog_new_with_buttons("new button",(GtkWindow *)container,GTK_DIALOG_DESTROY_WITH_PARENT,"OK", GTK_RESPONSE_NONE,NULL); 
     GtkWidget * content_area = gtk_dialog_get_content_area (GTK_DIALOG (new_button_dialog)); 
     GtkWidget * button_name_label = gtk_label_new ("Press escape at any time to cancel.\ntype in the button name"); 
     gtk_container_add (GTK_CONTAINER (content_area) , button_name_label); 
     GtkWidget * button_name_entry = gtk_entry_new(); 
     gtk_entry_set_activates_default((GtkEntry*)button_name_entry,TRUE); 
     gtk_container_add(GTK_CONTAINER(content_area), button_name_entry); 

問題是我tryign當用戶按下輸入 gtk_entry_set_activates_default 當我按下回車(當上述項目已經集中)接受輸入我什麼也沒得到

感謝

+2

您指定的「OK」按鈕,對話框的默認窗口小部件? – ptomato

+0

我認爲我沒有這樣做,我該怎麼做? –

+1

'gtk_widget_grab_default(ok_button);' – ptomato

回答

1

,這裏是我的工作代碼:

GtkWidget * ok_button = gtk_dialog_get_widget_for_response(new_button_dialog, GTK_RESPONSE_OK); 
gtk_entry_set_activates_default((GtkEntry*)button_name_entry,TRUE); 
gtk_widget_grab_default(ok_button);