GTK+ 2.0 教程--深入探索信号处理函数

类别:软件工程 点击:0 评论:0 推荐:

深入探索信号处理函数


让我们来看一下函数 gtk_signal_connect() 的声明。

gulong g_signal_connect( gpointer object,
                         const gchar *name,
                         GCallback func,
                         gpointer func_data );

注意返回值的类型 gulong,这是一个识别你的回调函数的标志。每个信号和每个
对象可以有多个回调函数,并且它们会按设置的顺序运行。

用这个标志,你可以用下面的函数从列表中删除回调函数:

void g_signal_handler_disconnect( gpointer object,
                                  gulong   id );

你也可以用 g_signal_handler_block() 和 g_signal_handler_unblock() 暂时断
开信号处理函数的连接。

void g_signal_handler_block( gpointer object,
                             gulong   id );

void g_signal_handlers_block_by_func( gpointer  object,
                                      GCallback func,
                                      gpointer  data );

void g_signal_handler_unblock( gpointer object,
                               gulong   id );

void g_signal_handlers_unblock_by_func( gpointer  object,
                                        GCallback func,
                                        gpointer  data );

 

本文地址:http://com.8s8s.com/it/it36557.htm