摘要:信号和回调函数的原理
在 2.0 版,信号系统已从 gtk 移到 glib,因此在函数和类型的说明中有前缀 "g_" 而不是 "gtk_"。我们不打算介绍 glib 2.0 信号系统相对 gtk 1.2 信号系统扩展的细节。
在我们详细分析 helloworld 程序之前,我们会讨论信号和回调函数。gtk 是一个事件驱动的工具包,意味着它会等在 gt......
摘要:hello world 详解
现在我们知基本理论了,让我们来详细分析helloworld示例程序。
这是按钮被点击时要调用的回调函数。在示例中忽略参数 widget 和 data,但是使用这些参数也不难。下一个示例会使用 data参数 来告诉我们按下了哪个按钮。
void hello( gtkwidget *widget, gpointer data ){ g_print ("he......
GTK+ 2.0 教程--用 GTK 来写 Hello World用 gtk 来写 hello world
好,现在来写一个只有一个按钮构件的程序,这是一个标准的 gtk hello world. 【程序编程相关:
在 Visual C++ 中控制全局对象】
【推荐阅读:[收藏]:BIOS的启动原理】
【扩展信息:学习日记2004-8-7】
#include <gtk/gtk.h>
/* 这是一个回调函数.data 参数在本示例中被忽略.
* 后面有更多的回调函数示例.*/void hello( gtkwidget *widget, gpointer data ){ g_print ("hello world\n");}
gint delete_event( gtkwidget *widget,
gdkevent *event, gpointer data ){ /* 如果你的 "delete_event" 信号处理函数返回 false,gtk 会发出 "destroy" 信号. * 返回 true,你不希望关闭窗口. * 当你想弹出“你确定要退出吗?”对话框时它很有用.*/
g_print ("delete event occurred\n");
/* 改 true 为 false 程序会关闭.*/
return true;
}...
下一页 摘要:深入探索信号处理函数
让我们来看一下函数 gtk_signal_connect() 的声明。
gulong g_signal_connect( gpointer object, const gchar *name, gcallback func, gpointer func_data );
注意返回值的类型 gulong,这是一个识别你的回调函数的标志。每个信号和每个对象可以有多个回......