设为首页 加入收藏

TOP

12.6.2 表格控件
2013-10-12 06:47:29 来源: 作者: 【 】 浏览:99
Tags:12.6.2 表格 控件

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  运行结果界面

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇12.6.4 使用菜单 下一篇2.1.4 Linux编程常用命令及工具..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: