|
12.6.2 表格控件
(1)创建表格控件
GtkWidget * gtk_clist_new(gint columns) GtkWidget * gtk_clist_new_with_titles(gint columns,gchar *titles[]) |
参数含义如下。
columns:表格的列数。
titles:各列的列名。
(2)设置每列的长度
void gtk_clist_set_column_width(GtkCList *clist,gint column,gint width) |
参数含义如下。
column:要设置宽度的列编号,从0开始。
width:宽度。
(3)向表格中加入一行数据
gint gtk_clist_append(GtkCList *clist,gchar *text[]) |
(4)获取和设置表格中某个格子的值
gint gtk_clist_get_text(GtkCList *clist,gint row,gint column,gchar **text) void gtk_clist_set_text(GtkCList *clist,gint row,gint column,gchar **text) |
(5)清除表格中的所有数据
void gtk_clist_clear(GtkCList *clist) |
(6)对表格中的数据进行排序
void gtk_clist_sort_column(GtkCList *clist, gint column) void gtk_clist_sort (GtkCList *clist) |
(7)获取和设置一行的数据
gpointer gtk_clist_get_row_data(GtkCList *clist,gint row) void gtk_clist_set_row_data(GtkCList *clist,gint row, gpointer data) |
(8)获取和更改列名
gchar* gtk_clist_get_column_title(GtkCList *clist, gint column) void gtk_clist_set_column_title(GtkCList *clist, gint column,gchar *title) |
(9)插入和删除一行数据
gint gtk_clist_insert(GtkCList *clist, gint row,gchar *text[]) void gtk_clist_remove(GtkCList *clist, gint row) |
例12-6 表格控件的使用,程序名为table.c
#include int main(int argc,char **argv) { GtkWidget *window; GtkWidget *clist;
gtk_init(&argc,&argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL); g_signal_connect(GTK_OBJECT(window),"destroy", GTK_SIGNAL_FUNC(gtk_main_quit),NULL); gtk_container_border_width(GTK_CONTAINER(window),20);
char *titles[] = { "name","age","major" };
char *rows1[] = { "John","20","computer" };
char *rows2[] = { "Bill","24","maths" };
char *rows3[] = { "Martin","22","English" };
clist = gtk_clist_new_with_titles(3,titles); gtk_clist_set_column_width(GTK_CLIST(clist),0,50); gtk_clist_set_column_width(GTK_CLIST(clist),1,50); gtk_clist_set_column_width(GTK_CLIST(clist),2,150); gtk_container_add(GTK_CONTAINER(window),clist); gtk_clist_append(GTK_CLIST(clist),rows1); gtk_clist_append(GTK_CLIST(clist),rows2); gtk_clist_append(GTK_CLIST(clist),rows3);
/*获取表格中第0行第2列格子的数据,并在命令行上打印出来*/ char *text = (char *)g_malloc(32); gtk_clist_get_text(GTK_CLIST(clist),0,2,&text); g_print("%s\n",text);
gtk_clist_sort(GTK_CLIST(clist));
gtk_widget_show(clist); gtk_widget_show(window);
gtk_main();
return 0; } |
程序运行后的界面如图12-7所示。
 |
| 图12-7 运行结果界面 |
|