六、与错误无关的显示消息函数
6.
|
名称:: |
g_message |
|
功能: |
显示消息 |
|
头文件: |
#include <glib.h> |
|
函数原形: |
void g_message(gchar *format,…); |
|
参数: |
Format 信息 |
|
返回值: |
无 |
g_message函数显示与错误无关的消息。在传递的字符串前打印 "message:"
7.
|
名称:: |
g_print |
|
功能: |
显示消息 |
|
头文件: |
#include <glib.h> |
|
函数原形: |
void g_print(gchar *format,…); |
|
参数: |
format 信息 |
|
返回值: |
无 |
g_print函数通常用于调试。你可以在开发过程中使用g_print函数,并在实际使用时撤消它的功能。
下面我们用上一节的程序验证着这些函数。
|
#include <gtk/gtk.h>
int main(int argc, char* argv[])
{
GtkWidget *window;
gtk_init(&argc,&argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_show(window);
g_print(“hello world”);
g_warning(“hello world”);
g_message(“hello world”);
//g_error(“hello world”);
gtk_main();
return FALSE;
} |
程序的运行结果为:
#gcc –o base base.c `pkg-config –cflags –libs gtk+-2.0`
#./base
hello world
** (base:8850) : WARNIG ** : hello world
** Message: hello world
七、Timeout 函数
Timeout函数会隔一定时间(毫秒)就自动地调用一次。下面的函数用于添加一个Timeout函数。定时函数类似于回调函数(我们将在下节介绍)。
8.
|
名称:: |
g_timeout_add |
|
功能: |
添加一个Timeout函数 |
|
头文件: |
#include <glib.h> |
|
函数原形: |
gint gtk_timeout_add(guint32 interval,GtkFunction function,gpointer data); |
|
参数: |
interval 调用定时函数的时间间隔
function 要调用的函数定时函数
data 传递给定时函数的参数 |
|
返回值: |
返回一个整形“标志“ |
可以用下面的函数停止调用定时函数:
9.
|
名称:: |
g_timeout_remove |
|
功能: |
停止调用定时函数 |
|
头文件: |
#include <glib.h> |
|
函数原形: |
void gtk_timeout_remove(gint tag); |
|
参数: |
tag g_timeout_add函数返回的标志 |
|
返回值: |
无 |
还可以让回调函数返回FA L S E或0来停止调用定时函数。也就是说,要想让函数继续调用,必须让它返回一个非0值或T R U E。
定期调用的回调函数声明应该是下面的形式:
gint timeout_callback( gpointer data );
下面是程序例子:
|
#include <gtk/gtk.h>
gint n=1;
gint function(gpointer data);
int main(int argc, char* argv[])
{
GtkWidget *window;
gpointer data;
gint sign;
gtk_init(&argc,&argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_show(window);
sign=g_timeout_add(500,function,data);
gtk_main();
return FALSE;
}
gint function(gpointer data)
{
g_print(“hello”);
if(++n>5)
return 0;
}
|
程序每隔500毫秒输出一个hello.输出5个结束。