当前位置: 技术问答>linux和unix
gtk_entry_get_text出现段错误
来源: 互联网 发布时间:2017-04-05
本文导语: 小弟初学gtk,我用的是 gtk+-2.0 对一个entry控件键入 enter时相应回调函数 回调函数如下 133 /* when you press the Enter key int entry_localwd call this function*/ 134 void* response_entry_enter(GtkWidget *widget, GdkEvent *event, gpointer...
小弟初学gtk,我用的是 gtk+-2.0
对一个entry控件键入 enter时相应回调函数
回调函数如下
信号关联函数如下
当我将 138行的 widget 改为 value(即entry_localwd)时出现段错误,但是用widget,未出现段错误
其实这是测试代码,原来给 g_signal_connect()传的是一个结构体变量,entry_localwd也是成员变量之一,
在赋值是 也是在gtk_entry_get_text(GTK_ENTRY(data->entry))出现段错误,其他的成员变量赋值未出现问题,不知到为什么?
懂得麻烦讲解一下,在此谢过!
对一个entry控件键入 enter时相应回调函数
回调函数如下
133 /* when you press the Enter key int entry_localwd call this function*/
134 void* response_entry_enter(GtkWidget *widget, GdkEvent *event, gpointer data)
135 {
136 GtkEntry * value = data;
137 char path[100];
138 strcpy(path,gtk_entry_get_text(GTK_ENTRY(widget)));
139 printf("%sn",path);
}
信号关联函数如下
g_signal_connect(entry_localwd,"activate",G_CALLBACK(response_entry_enter),&entry_localwd);
当我将 138行的 widget 改为 value(即entry_localwd)时出现段错误,但是用widget,未出现段错误
其实这是测试代码,原来给 g_signal_connect()传的是一个结构体变量,entry_localwd也是成员变量之一,
在赋值是 也是在gtk_entry_get_text(GTK_ENTRY(data->entry))出现段错误,其他的成员变量赋值未出现问题,不知到为什么?
懂得麻烦讲解一下,在此谢过!
|
你那个是要传自己吗? 没有必要吧,回调函数response_entry_enter中第一个参数就是信号源的控件了,有它不就够了吗?
可以gdb里面看下,传过去的最后一个参数可能解析有问题,设个断点看下它的值。
g_signal_connect(entry_localwd,"activate",G_CALLBACK(response_entry_enter),&entry_localwd);
是否要改为: g_signal_connect((G_OBJECT)entry_localwd,"activate",G_CALLBACK(response_entry_enter),(gpointer)entry_localwd);
最好是把你的问题整理出一个简单的可复现的demo程序,放下源码和编译参数之类的。
可以gdb里面看下,传过去的最后一个参数可能解析有问题,设个断点看下它的值。
g_signal_connect(entry_localwd,"activate",G_CALLBACK(response_entry_enter),&entry_localwd);
是否要改为: g_signal_connect((G_OBJECT)entry_localwd,"activate",G_CALLBACK(response_entry_enter),(gpointer)entry_localwd);
最好是把你的问题整理出一个简单的可复现的demo程序,放下源码和编译参数之类的。
|
请楼主贴出代码
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。