如下例所示,这个回调函数是当用户点击确定按钮时。我可以通过使用 gtk_widget_get_toplevel 从按钮获取窗口(顶级小部件),但我一直在尝试获取名为 ENTRY 的 GtkEntry 小部件的小部件指针。
/* Called when OK button is clicked */
on_BT_OK_clicked(GtkButton *button, gpointer user_data)
{
//The line directly below is the one I get an error on
GtkWidget *entry = lookup_widget( GTK_WIDGET(button), "ENTRY" );
gchar *text1, *text2;
text1 = gtk_entry_get_text( GTK_ENTRY(entry));
text2 = g_strconcat("Hello, ", text1, NULL);
GtkWidget *window = gtk_widget_get_toplevel (GTK_WIDGET(button));
GtkWidget *dialog = gtk_message_dialog_new( window,
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO,
GTK_BUTTONS_CLOSE,
text2);
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
}
但我收到错误“未定义对 lookup_widget 的引用”。我可以使用 lookup_widget 找到十亿个代码片段示例,但没有一个完整的源代码示例显示支持使用它的标头。我正在使用 Anjuta3.2.0 和最新的 Glade 插件。