c - Gtk_entry 为 NULL
问题描述
我使用 GSlist 将 2 GTK_ENTRY 传递给回调函数,但是在回调函数中,当我尝试从这 2 GTK_ENTRY 检索数据时,出现错误消息,我在哪里犯了错误?是否有另一种方法来检索用户在 GTK_ENTRY 中发送给回调函数的数据?感谢帮助
在主要功能中:
GtkWidget *pEntryID;
GtkWidget *pEntryMDP;
GSList *lLogMdp = NULL;
pEntryID = gtk_entry_new();
gtk_container_add(GTK_CONTAINER(pBoiteTotal), pEntryID);
lLogMdp = g_slist_append(lLogMdp,(GtkWidget*) pEntryID);
pEntryMDP = gtk_entry_new();
gtk_entry_set_visibility(GTK_ENTRY(pEntryMDP), FALSE);
gtk_container_add(GTK_CONTAINER(pBoiteTotal), pEntryMDP);
lLogMdp = g_slist_append(lLogMdp,(GtkWidget*) pEntryMDP);
g_signal_connect(G_OBJECT(pLogBtn), "clicked", G_CALLBACK(Login), lLogMdp);
在回调函数中:
void Login(GtkWidget *pLogBtn, GSList *lLogMdp)
GtkWidget *pEntryID;
GtkWidget *pEntryMDP;
const gchar *sIDEntry;
const gchar *sMDPEntry;
pEntryID = (GtkWidget*) g_slist_nth(lLogMdp, 1);
pEntryMDP = (GtkWidget*) g_slist_nth(lLogMdp, 2);