GTK+图形化应用程序开发学习笔记(二)—Glib库..
时间:2007-06-05 来源:湖光倒影
六、与错误无关的显示消息函数
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个结束。