您的位置:首页 > 运维架构 > Linux

使用GTK与Glade创建一个简单的列表的图形详解

2013-03-13 14:59 881 查看
首先需要说明的是,LZ只是说明一下最简单的创建一个普通列表的方式。关于GTK的GtkTreeView的使用非常复杂,它不像QT,直接可以拖一个表格就可以了,所以,提供过于灵活的使用方式带来的负面影响就是不容易掌控。LZ因为在写一个售票的系统,所以在显示车次、车票等信息时,必然会用到列表显示数据,建一个最普通的列表耗费了LZ好长时间的学习代价。如果读者也只是简单的想创建一个列表的话,不妨可以借鉴一下。LZ的效果图如下:



首先是在glade中完成界面的拖动设置工作:

第一步:在glade中找到Control and Display中找到Tree View构建,点击拖到需要创建列表的区域,这是基本的外框架。

第二步:在Miscellaneous中找到List Store,点击一下,这时你会在右边的属性栏见到如下的界面。注意!这仅仅是一个对象,不是基本的图元。



可以根据需要在类型栏选择类型,然后在栏名称内输入列表中每一列的变量名字。例如,下图是LZ的车票信息的设置





注意!如果中间某一行输错的话,必须一行一行删除,直到删除到这一行为止。选中,然后点击delete就行,这也是glade难用之所在了。所以,输入数据时,读者还是小心为上。

第三步:将Tree View与刚才的ListStore关联起来,选中你刚才建的Tree View,在属性列表中找到“属性视图模型”,然后选中刚才建立的ListStore点击确认就行啦。图示如下:



第四步:这是最关键的一步了,也比较麻烦,就是列表中的每一列的属性。首先,选中Tree View,然后右击,点击Edit...,界面上选择层次,就会跳出如图所示的设置界面。



然后,点击添加按钮,为列表添加第一行的表头。表头的名字可以在右边的属性栏中的“标题”里设置,想显示几列就可以添加几个column。创建好表头后,就可以将在ListStore设置的字段与每一列column相关联了。操作方式是:

选中某一列column,如上图选中的是“车次”一栏,右击选中“添加子项文本”,图示如下:



然后在属性和特性下的文字栏右边重置里面选择你想要关联的列,一般是与ListStore中相对应的。你也可以选择性的挑出ListStore中的几项。注意:上图已经是LZ添加完毕的效果图了。

这样,如LZ例子图示的列表就创建好了。

代码显示数据部分

LZ就附上自己代码中的片段来简单说明吧,图示如下:



其它的回调函数什么的,就不说明了,读者自己慢慢研究吧~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux Ubuntu GTK+ Glade3 列表