中国Linux公社论坛's Archiver

cee1 发表于 2006-10-24 19:59

请教:glade3+libglade的handler的问题?

在glade3中比如设置widget的信号,以及处理函数,如果有user data要传(在正常的参数只有控件和gpointer data时),则相应的处理函数的第一参数必须是gpointer data,不知道为什么?

yangh 发表于 2007-11-6 11:04

我在 glade3 只用过不传 data 的 callback

不肯定的原因: 由于信号回调函数原型是跟信号相关的,可变的,所以为了保证 callback 能准确地获取 user data,在连接信号使用了 g_signal_connect_swapped,这样第一个函数就必然是 user data 了。

npcomet 发表于 2007-11-6 13:24

:P :P :P  黑黑

snyh 发表于 2009-8-10 23:16

正好 在找这个user_data是怎么传的。。。

原来是第一个参数。。。。。。。。。

一直以为G_CALLBACK是 带参数的
刚去看了下手册。。。确实是
void                (*GCallback)                        (void);

8O

杀毒新狂人 发表于 2011-11-9 19:53

原来是这样啊

页: [1]

Powered by Discuz! Archiver 6.1.0F  © 2001-2007 Comsenz Inc.