一个很简单的GTK刷新界面问题
小弟最近写了个下载的小程序,在GTK的图形界面上写了个treeview的列表,想让其内容进行更新,于是我想到了刷新整个界面,但是用gtk_timeout_add老是刷不出来?也尝试在分线程中实现也不行?听说还有种方法是
while(gtk_events_pending())
gtk_main_iteration();
不知如何应用……
小弟的main代码如下
#include <stdio.h>
#include <X11/Xlib.h>
#include <gtk/gtk.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include "ui.h"
int
main (int argc, char **argv)
{
if(!g_thread_supported())
g_thread_init(NULL);
gtk_init (&argc, &argv);
g_threads_enter();
gtk_timeout_add(500,create_mainscreen,NULL);
gtk_main ();
g_threads_leave();
exit (1);
}
[ 本帖最后由 stcstc 于 2007-8-25 23:02 编辑 ] 难道太简单了。。:shock: 求助呀求助 gtk_timeout_add前后不用加g_threads_enter和leave
gtk_timeout_add来做定时刷新是没问题的,不知道你的create_mainscreen是怎么写的 太过追求刷新界面不是件好事,刷新就是重绘!还是高速,分消很大 建议,使用事件来启动刷新,不要用while{if{......}....}的语法,对程序过行不利! 简单程序,不明显而已 我觉得可以用alarm 刷新
不知道大家觉得怎样??
[ 本帖最后由 wkt 于 2008-1-9 20:42 编辑 ]
页:
[1]