gtk+

在线程中使用图形界面函数,比如gtk之类的函数,都需要在调用之前加
gdk_threads_enter();
调用完后加上
gdk_threads_leave();


名称::
gtk_widget_hide
功能:
隐藏一个构件
头文件:
#include <gtk/gtk.h>
函数原形:
void gtk_widget_hide (GtkWidget *widget);
参数:
widget 构件
返回值:

 

gtk_widget_show()

在gtk中,一个构件的显示要经过两个必要的步骤:1.realize2.maprealize是创建对应的gdk窗口,同时也会创建对应的x窗口而map则是调用gdk_window_show()把已经创建的gdk窗口在屏幕上显示出来,使窗口变得可见。如果它的派生构件没有覆盖show这个信号的方法,gtk_widget_show()引发信号然后调用默认的gtk_widget_real_show而gtk_widget_real_show这个方法又会调用gtk_widget_map(), gtk_widget_map先检查构件的gdk窗口有没有realize,如果没有,则先realize这个窗口,然后才调用gdk_window_show使的窗口可见。窗口可见的话,就可以在上面进行各种绘制了。要窗口马上显示出来,要用gtk_widget_show_now,它会添加一个回调函数来捕获map_event,如果没有捕获该事件,它会一直调用主循环迭代来强制等待该事件信号

 

Timeout函数会隔一定时间(毫秒)就自动地调用一次。下面的函数用于添加一个Timeout函数。定时函数类似于回调函数(我们将在下节介绍)。  1.     可以用下面的函数停止调用定时函数:  2.     还可以让回调函数返回FA L S E或0来停止调用定时函数。也就是说,要想让函数继续调用,必须让它返回一个非0值或T R U E。  定期调用的回调函数声明应该是下面的形式:  gint timeout_callback( gpointer data );

 

要使一个按钮执行一个动作,我们需设置信号和信号处理函数之间的连接。可以这样使用函数来设置连接:

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

第一个参数是要发出信号的构件,第二个参数是你想要连接的信号的名称,第三个参数是信号被捕获时所要调用的函数,第四个参数是你想传递给这个函数的数据。

第三个参数指定的函数叫做回调函数,一般为下面的形式:

void callback_func( GtkWidget *widget,
gpointer callback_data );

第一个参数是一个指向发出信号的构件的指针,第二个参数是一个指向数据的指针,就是上面 g_signal_connect() 函数的最后一个参数传进来的数据。

注意上面回调函数的声明只是一般的形式,有些构件的特殊信号会用不同的调用参数。

另一个在 helloworld 示例中使用的调用,是:

gulong g_signal_connect_swapped( gpointer *object,
const gchar *name,
GCallback func,
gpointer *slot_object );

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值