摘要:hello world 详解
现在我们知基本理论了,让我们来详细分析helloworld示例程序。
这是按钮被点击时要调用的回调函数。在示例中忽略参数 widget 和 data,但是使用这些参数也不难。下一个示例会使用 data参数 来告诉我们按下了哪个按钮。
void hello( gtkwidget *widget, gpointer data ){ g_print ("he......
摘要:深入探索信号处理函数
让我们来看一下函数 gtk_signal_connect() 的声明。
gulong g_signal_connect( gpointer object, const gchar *name, gcallback func, gpointer func_data );
注意返回值的类型 gulong,这是一个识别你的回调函数的标志。每个信号和每个对象可以有多个回......
GTK+ 2.0 教程--信号和回调函数的原理信号与回调函数的原理
在 2.0 版,信号系统已从 gtk 移到 glib,因此在函数与类型的说明中有前缀 【程序编程相关:
网络安全协议之比较(SSH、PKI、SE】
【推荐阅读:学习日记2004-8-7】
统扩展的细节. 【扩展信息:
编程手记之ANSI C篇-(六)LISP】"g_" 而不是 "gtk_".我们不打算介绍 glib 2.0 信号系统相对 gtk 1.2 信号系
在我们详细分析 helloworld 程序之前,我们会讨论信号与回调函数.gtk 是一个
事件驱动的工具包,意味着它会等在 gtk_main() 那里,直到下一个事件发生,才把控制权传给适当的函数.
控制的传递是使用“信号”的办法.(注意这里的信号并不等同于 unix 系统里的
信号,并且也不是用它们实现的,虽然它们!!用辞是一样的.) 当一个事件发生时,如按一下鼠标键,所按的构件会发出适当的信号.这就是 gtk 的工作机制.有所有构件都继承的信号,如 "destroy",有构件专有的信号,如切换 (toggle) 按钮发出的 "toggled" 信号.
要使一个按钮执行一个动作,我们需设置信号与信号处理函数之间的连接.可以这
样使用函数来设置连接:...
下一页 摘要:组装构件
创建一个应用软件的时候,你可能希望在窗口里放置超过一个以上的构件。我们的第一个 helloworld 示例仅用了一个构件,因此我们能够简单地使用 gtk_container_add()来“组装”这个构件到窗口中。但当你想要放置更多的构件到一个窗口中时,如何控制各个构件的定位呢?这时就要用到组装(packing)了。
组装盒的原理
多数组装是通过创建一些......