首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

gtk+分栏列表兑现例子

2012-12-21 
gtk+分栏列表实现例子此分栏列表会从指定文本文件中读取数据显示出来文本文件中的内容是这样张三:男人:哈

gtk+分栏列表实现例子
此分栏列表会从指定文本文件中读取数据显示出来
文本文件中的内容是这样

张三:男人:哈哈:哈哈
张三:男人:哈哈:哈哈
张三:男人:哈哈:哈哈
张三:男人:哈哈:哈哈
张三:男人:哈哈:哈哈
张三:男人:哈哈:哈哈
张三:男人:哈哈:哈哈
张三:男人:哈哈:哈哈

#include <gtk/gtk.h>#include <stdlib.h>#include <stdio.h>#include <string.h>#define MAX_LINE_SIZE 400int main(int argc,char *argv[]){GtkWidget *window;GtkWidget *clist;GtkWidget *image;gint  i;FILE  *fp;gchar  *line;gchar  *token;gchar     *row[4]; gtk_init(&argc,&argv);window=gtk_window_new(GTK_WINDOW_TOPLEVEL);gtk_signal_connect(GTK_OBJECT(window),"delete_event",GTK_SIGNAL_FUNC(gtk_main_quit),NULL);gtk_widget_set_size_request(window,500,500);gtk_container_set_border_width(GTK_CONTAINER(window),1); clist=gtk_clist_new(4);gtk_clist_set_column_width(GTK_CLIST(clist),0,100);gtk_clist_set_column_width(GTK_CLIST(clist),1,100);gtk_clist_set_column_width(GTK_CLIST(clist),2,100);gtk_clist_set_column_width(GTK_CLIST(clist),3,100);gtk_clist_set_column_justification(GTK_CLIST(clist),3,GTK_JUSTIFY_CENTER);gtk_clist_set_row_height(GTK_CLIST(clist),28);gtk_clist_set_column_title(GTK_CLIST(clist),0,"姓名");gtk_clist_set_column_title(GTK_CLIST(clist),1,"性别");gtk_clist_set_column_title(GTK_CLIST(clist),2,"年龄");gtk_clist_set_column_title(GTK_CLIST(clist),3,"年1龄"); //gtk_clist_column_title_passive(GTK_CLIST(clist),1);/*设置编号为1的列标题为不活动的列标题*///image=gtk_image_new_from_file("1"); /*创建图片构件,大家可以把参数改为自己的图片文件名*///gtk_clist_set_column_widget(GTK_CLIST(clist),0,image);/*设置标题按钮构件*/ gtk_clist_column_titles_show(GTK_CLIST(clist));line = (char*)malloc( MAX_LINE_SIZE * sizeof(char) );if((fp = fopen("users.txt", "r"))==NULL){  printf("can not open file %s !\n", "file.txt");exit(-1); }while( fgets(line, MAX_LINE_SIZE, fp) != NULL ){i=0;memset(row,0,sizeof(row));row[i] = strtok(line,":");while((token = strtok(NULL, ":")) != NULL){i++;row[i] = token;}gtk_clist_append(GTK_CLIST(clist),row);}fclose(fp);gtk_container_add(GTK_CONTAINER(window),clist); gtk_widget_show(clist);gtk_widget_show(window);gtk_main();}

热点排行