GTK+ 2 C - 按下输入或单击按钮以从条目小部件获取文本

GTK+ 2 C - enter pressed or button clicked to get text from entry widget

当按下回车键或单击按钮时,我应该如何打印条目中的文本?我问是因为当我点击按钮时我得到“(PMAF:3592):Gtk-CRITICAL **:IA__gtk_entry_get_text:断言'GTK_IS_ENTRY (entry)'失败 (空)

void print_the_entry(GtkWidget *entry, gpointer user_data)
{
    g_print("%s\n", gtk_entry_get_text(user_data));

}

 //search_entry 
  search_entry = gtk_entry_new();
  g_signal_connect_swapped(G_OBJECT(search_entry), "activate", G_CALLBACK(print_the_entry), (gpointer) search_entry);

  gtk_box_pack_start(GTK_BOX(search_and_do_it_h_box), search_entry, FALSE, FALSE, 0);

  //do_it_button
  do_it_button = gtk_button_new_with_label("Do it!");
  gtk_box_pack_start(GTK_BOX(search_and_do_it_h_box), do_it_button, FALSE, FALSE, 0);
  g_signal_connect_swapped(G_OBJECT(do_it_button), "clicked", G_CALLBACK(print_the_entry), (gpointer) search_entry);

看来你用错了参数,试试:

g_print("%s\n", gtk_entry_get_text(GTK_ENTRY(entry)));

如果您想在数组结构或单个数组中保存值(在条目文本中输入),您可能需要这个。

gtk_entry_set_text(entry1, detail[i].Name);

其中"detail"是结构变量,"Name"是结构的成员数组。

只需在 GUI 具有输入文本的情况下,如果您想查看按钮上的值,请单击此处。