`

gtk+分栏列表实现例子

阅读更多
此分栏列表会从指定文本文件中读取数据显示出来
文本文件中的内容是这样

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

#include <gtk/gtk.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

#define MAX_LINE_SIZE 400

int 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();
}
分享到:
评论

相关推荐

    GTK+-2.0-中文手册.pdf.7z

    通过阅读这份 GTK+ 2.0 中文手册,开发者不仅可以学习到 GTK+ 的核心概念和技术,还能掌握开发 GUI 应用的基本流程和最佳实践,为实现高效、美观的图形界面打下坚实的基础。尽管 GTK+ 已经更新到更高版本,但 GTK+ ...

    GTK+程序设计中文版 .pdf

    * GDK:一种函数库,她为整个 GTK+ 图形库系统提供了一些底层的“图形实现”和“窗口实现”的方法。在 Linux 中 GDK 是位于 X 服务器和 GTK+ 函数库之间的。 * GdkPixbuf:一种函数库工具包用于加载图像和维护图像...

    Gtk+ 3.6.4 win64.zip

    Gtk+ 3.6.4 是一个用于开发图形用户界面(GUI)的开源工具包,主要面向Linux和其他类UNIX系统,但也有针对Windows平台的版本。这个“Gtk+ 3.6.4 win64.zip”文件是一个包含了Gtk+ 3.6.4在64位Windows操作系统上的SDK...

    GTK+ Reference Manual (GTK+ 参考手册 英文) for GTK+ 2.14.3

    GTK+ 参考手册 for GTK+ 2.14.3,最新英文版 GTK+ is a library for creating graphical user interfaces. It works on many UNIX-like platforms, Windows, and on framebuffer devices. GTK+ is released under ...

    gtk+-bundle_2.24.10-20120208_win32.zip

    1. **跨平台**:GTK+不仅支持Linux和其他类Unix系统,如FreeBSD和Mac OS X,还支持Windows,实现了多平台兼容性。 2. **对象导向**:GTK+基于C语言设计,但通过面向对象的设计原则,提供了类和对象的概念,使得开发...

    linux gtk+-2.0.zip

    Linux系统中的GTK+ 2.0是一个用于创建图形用户界面(GUI)的开源库,它在许多基于Linux的桌面环境中广泛使用,如GNOME。GTK+(GIMP Toolkit)最初是为了GIMP图像编辑器开发的,但随着时间的发展,它已经成为了一个...

    gtk+-bundle_2.22.1-20101229_win64

    5. **src**:可能包含了GTK+ 2.22.1的源代码,允许开发者查看和学习GTK+的内部实现。 6. **lib**:包含了GTK+的库文件,这些文件在编译链接时被加入到应用程序中,使得程序能够调用GTK+的功能。 7. **manifest**:...

    基于C gtk/gtk+ sqlite3选课系统的开发

    在这个选课系统中,我们将使用GTK+来设计和构建用户界面,如菜单、按钮、文本框和列表视图,以便学生和教师进行交互。 SQLite3是一个轻量级、嵌入式的数据库管理系统,它不需要单独的服务器进程,并且可以直接在...

    GTK+3.0详细的说明文档

    GTK+3.0是GIMP Toolkit的最新版本,是一个跨平台的GUI库,广泛用于创建图形用户界面。它支持多种操作系统,包括Linux、Windows和macOS。GTK+3.0的详细说明文档提供了全面的学习资源,帮助开发者充分利用其功能。 在...

    gtk+ gtk+-bundle_2.18.7-20100213_win32

    GTK+(GIMP Toolkit Plus)是一个跨平台的图形用户界面(GUI)工具包,广泛用于创建桌面应用程序。这个“gtk+-bundle_2.18.7-20100213_win32”是一个面向Windows操作系统的GTK+ 2.18.7版本的打包文件,发布于2010年2...

    最新的基于GTK+的单词数值计算器-linux

    通过阅读和分析这些代码,初学者可以深入理解GTK+如何与程序逻辑结合,以及如何实现用户界面的动态交互。此外,这也为有经验的开发者提供了一个很好的起点,他们可以根据自己的需求对计算器进行扩展或定制。 为了...

    GTK+程序设计中文版PDF

    GTK+,全称为GIMP Toolkit,是一个开源的GUI(图形用户界面)工具包,用于创建跨平台的应用程序。它最初是为图像处理软件GIMP(GNU Image Manipulation Program)开发的,但后来发展成为了一个广泛使用的多语言编程...

    gtk+ Visual Studio 2008环境搭建(包含gtk+文件)

    标题中的“gtk+ Visual Studio 2008环境搭建”是指在Windows操作系统上,使用Microsoft Visual Studio 2008开发环境配置GTK+库的过程。GTK+(GIMP Toolkit)是一个跨平台的图形用户界面(GUI)工具包,广泛用于创建...

    GTK+GNOME程序设计PDF(高清)2

    本书详细介绍了两种Linux图形用户界面开发技术:GTK+/GNOME。主要内容包括:GUI的基本概念,GLib,GTK+及GNOME的简介,各种GUI元素的创建与使用,bIDE,Glade等等。最后通过两个综合实例来巩固所学知识。本书实例...

    GTK + 2.0教程GTK+ 2.0 Tutorial

    - **邮件列表与论坛**:加入GTK+社区,与其他开发者交流经验和问题解决方法。 #### 八、结语 GTK+作为一个成熟稳定的GUI工具包,在开发高效、美观的跨平台应用程序方面具有明显优势。通过掌握本教程介绍的基础知识...

    Foundations of GTK+ Development

    Foundations of GTK+ Development (PDF 英文版) By Andrew Krause ISBN10: 1-59059-793-1 ISBN13: 978-1-59059-793-4 630 pages Apr 2007 (Apress) GTK+ is one of the most influential graphical toolkits for...

    gtk+-bundle_3.10.4-20131202_win64

    GTK+(GIMP Toolkit)是跨平台的图形用户界面(GUI)工具包,广泛用于开发桌面应用程序。这个特定的资源,“gtk+-bundle_3.10.4-20131202_win64”,是一个专为Windows 64位系统设计的GTK+版本的打包下载,版本号为...

    GTK+、glade学习(C、Python实现)

    1. **跨平台**:GTK+可以在多种操作系统上运行,通过使用Pango库处理文本和字体,可以实现跨平台的本地化。 2. **主题引擎**:GTK+允许用户自定义界面主题,通过更换皮肤来改变应用的外观。 3. **对象导向**:GTK+...

    GTK+修复工具32位.zip

    GTK+修复工具32位.zip是一个专为32位计算机设计的软件包,它包含了用于修复或安装GTK+环境的必要组件。GTK+(GIMP Toolkit)是一个跨平台的图形用户界面工具包,广泛用于创建GUI应用程序。这个压缩包特别为在32位...

Global site tag (gtag.js) - Google Analytics