打印

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

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

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

TOP

我在 glade3 只用过不传 data 的 callback

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

TOP

  黑黑
中国Linux校园联盟 Linux Campus Union of China(LCUC)  在中国,学生永远是不可忽视的重要力量,让广大学生学习和使用Linux是一个让Linux快速普及的捷径。 希望所有爱好linux的人来到我们中间,用我们的力量创造一个美好的未来。 私人空间

TOP

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

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

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

TOP

原来是这样啊

TOP