可以用三种方法添加行。即在前面、后面和指定位子加入行。
1.
名称::
gtk_clist_prepend
gtk_clist_append
gtk_clist_insert
功能:
向列表中添加行
头文件:
#include <gtk/gtk.h>
函数原形:
gtk_clist_prepend(GtkCList *clist, gchar *text[ ]);
gtk_clist_append(GtkCList *clist, gchar *text[ ]);
gtk_clist_insert(GtkCList *clist, gint row, gchar text[ ]);
参数:
clist 分栏列表构件
row 列标题编号
text 文本数组
返回值:
无
有两种方式在列表中删除行,gtk_clist_remove可以删除指定的行,gtk_clist_clear可以删除所有的行。
2.
名称::
gtk_clist_remove
gtk_clist_clear
功能:
向列表中添加/删除行
头文件:
#include <gtk/gtk.h>
函数原形:
gtk_clist_remove(GtkCList *clist, gint row);
gtk_clist_clear(GtkCList *clist);
参数:
clist 分栏列表件
row 行编号
返回值:
无
还有两个很方便的函数可以用在当列表中要发生很大变化时。因为GtkCList在发生变化时要重绘自身,所以当列表中内容变化较大时,频繁重绘会让屏幕不停闪烁。最好的办法是先将列表“冻结”,然后更新列表,最后将其“解冻”。
3.
名称::
gtk_clist_freeze
gtk_clist_thaw
功能:
冻结/解冻列表
头文件:
#include <gtk/gtk.h>
函数原形:
gtk_clist_freeze(GtkCList *clist);
gtk_clist_thaw(GtkCList *clist);
参数:
clist 分栏列表构件
返回值:
无
下面我们就向列表中插入几行数据:
#include <gtk/gtk.h>
int main(int argc,char *argv[ ])
{
GtkWidget *window;
GtkWidget *clist;
gchar *text1[3]={“刘备”,”男”,”23”}; /*定义列表项数据*/
gchar *text2[3]={“关羽”,”男”,”22”};
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,200,150);
gtk_container_set_border_width(GTK_CONTAINER(window),10);
clist=gtk_clist_new(3);
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_prepend(GTK_CLIST(clist),text1);/*将列表项数据添加到列表*/
gtk_clist_prepend(GTK_CLIST(clist),text2);
gtk_clist_column_titles_show(GTK_CLIST(clist));
gtk_container_add(GTK_CONTAINER(window),clist);
gtk_widget_show(clist);
gtk_widget_show(window);
gtk_main();
}
程序运行后得到如下界面:
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。