使用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就附上自己代码中的片段来简单说明吧,图示如下:
其它的回调函数什么的,就不说明了,读者自己慢慢研究吧~
首先是在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就附上自己代码中的片段来简单说明吧,图示如下:
其它的回调函数什么的,就不说明了,读者自己慢慢研究吧~
相关文章推荐
- 使用Qml创建各种list(一)---创建一个简单图片列表
- 如何使用纯CSS3创建一个简单的五角星图形
- 使用Qml创建各种list(二)创建一个简单的动态列表
- 怎样使用纯CSS3创建一个简单的五角星图形
- 使用UItableview完成一个简单的QQ好友列表(二)
- iOS开发UI篇章使用UItableview完成一个简单的QQ好友列表(一)
- 使用Cocos studio创建一个简单的工程
- 创建一个简单的HTTP服务(自动查找未使用的端口)
- 【iOS开发】 CoreText 使用教程:以创建一个简单的杂志应用为例
- 如何使用eclipse创建JAVA项目并写一个简单的HelloWorld
- 如何使用 CoreText 创建一个简单的杂志应用
- 使用webstorm创建一个简单的node.js工程
- 使用timer控件创建一个简单的报警程序
- iOS开发UI篇—使用UItableview完成一个简单的QQ好友列表(一)
- 使用jQuery和CSS3创建一个支持翻转效果的微/轻博客网站列表
- Cocos2dx:使用Cocos Studio创建一个简单的工程
- 使用Spring来创建一个简单的工作流引擎
- 使用Spring来创建一个简单的工作流引擎
- 使用ASP.NET MVC 4 创建一个简单的应用程序
- 使用nRF51822/nRF51422创建一个简单的BLE应用 ---入门实例手册(中文)之一