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

时间:2015-01-17 10:12:19

标签: c user-interface gtk gnome gtk2

按下输入或单击按钮时,如何从条目中打印文本?我问,因为当我点击按钮时,我得到“(PMAF:3592):Gtk-CRITICAL **:IA__gtk_entry_get_text:断言'GTK_IS_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);

2 个答案:

答案 0 :(得分:1)

您似乎使用了错误的参数,请尝试:

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

答案 1 :(得分:0)

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

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

其中"详细信息"是一个结构变量" Name"是结构的成员数组。

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