我是靠谱客的博主 悲凉睫毛膏,最近开发中收集的这篇文章主要介绍深入探索信号处理函数@GTK+ 2.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 );

所以,通过传递你想在上面删除处理函数的构件,以及某个 signal_connect 函数返回的标识,你就可以中断一个信号处理函数的连接。

你也可以用 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 );

<<< Previous Home Next >>>
继续Up 改进了的 Hello World

最后

以上就是悲凉睫毛膏为你收集整理的深入探索信号处理函数@GTK+ 2.0 中文教程连载深入探索信号处理函数 的全部内容,希望文章能够帮你解决深入探索信号处理函数@GTK+ 2.0 中文教程连载深入探索信号处理函数 所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部