gtk_entry_set_activates_default没有做它的魔力

时间:2015-10-18 20:01:50

标签: c linux gtk

我正在创建一个弹出式gtkdialogbox,提示用户输入。 这是我的代码:

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);

问题是我在用户按下回车时尝试接受输入 gtk_entry_set_activates_default 当我按下回车键时(当条目有焦点时)我什么都没得到

感谢

1 个答案:

答案 0 :(得分: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);