LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1920|回复: 6

我用了gtk_timeout_add函数,可为什么没有周期调用呢?

[复制链接]
发表于 2008-5-31 20:43:26 | 显示全部楼层 |阅读模式
#include <gtk/gtk.h>
#include <time.h>

GtkWidget *clocker;

void clock_begin()
{
        time_t now;
        struct tm *l_time;
        gchar buf[100];
        now = time( (time_t *) NULL);
        l_time = localtime (&now );
        sprintf(buf , "%d : %d : %d",l_time->tm_hour,l_time->tm_min,l_time->tm_sec);
        gtk_label_set_text(GTK_LABEL(clocker),buf);

}


int main(int argc , char **argv)
{

        GtkWidget *window,*hbox,*label;

        gtk_init(&argc,&argv);

        window = gtk_window_new ( GTK_WINDOW_TOPLEVEL);
        gtk_window_set_title ( GTK_WINDOW(window),"时钟");
        gtk_window_set_position ( GTK_WINDOW(window), GTK_WIN_POS_CENTER);
        gtk_window_set_default_size( GTK_WINDOW(window),200,60        );
        gtk_container_set_border_width(GTK_CONTAINER(window),10);
        g_signal_connect(G_OBJECT(window),"destroy",G_CALLBACK(gtk_main_quit),NULL);

        hbox = gtk_hbox_new(FALSE ,0);
        gtk_container_add (GTK_CONTAINER(window),hbox);

        label = gtk_label_new("现在时刻:");
        gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,5);

        clocker = gtk_label_new(NULL);
        gtk_box_pack_start(GTK_BOX(hbox),clocker,FALSE ,FALSE ,5);

        gtk_timeout_add(1000,(GtkFunction)clock_begin,NULL);

        gtk_widget_show_all(window);
        gtk_main();
        return 0;

}
发表于 2008-6-1 09:33:17 | 显示全部楼层
楼主看一下 gtk_timeout_add 的原型就明白了

另外, 此函数似乎已过时, 新代码建议使用 g_timeout_add
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-1 10:12:48 | 显示全部楼层
谢谢 remote fish
问题解决了,可我在 gtk+2.0 d的tutorial 中没找到gtk_time_out_add
回复 支持 反对

使用道具 举报

发表于 2008-6-1 17:25:13 | 显示全部楼层
gtk_time_out_add 是什么
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-1 19:10:23 | 显示全部楼层
打错了 是gtk_timeout_add
回复 支持 反对

使用道具 举报

发表于 2008-6-2 09:57:53 | 显示全部楼层
去 google 吧. 查资料这种事情别人替代不了
回复 支持 反对

使用道具 举报

发表于 2008-6-2 10:12:25 | 显示全部楼层
你可以用用Devhelp,跟MSDN差不多的一个东西,上面这样的函数都有详细的介绍说明。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表