2015-10-18 67 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);