首页 > 解决方案 > 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);

错误信息

标签: cgtk

解决方案


推荐阅读