URN Logo
UNIX Resources » Linux » China Linux Forum » Linux下的GUI软件开发 » 45 » 如何让新加入到 list_store 的一行可见?
announcement 声明: 本页内容为中国Linux论坛的内容镜像,文章的版权以及其他所有的相关权利属于中国Linux论坛和相应文章的作者,如果转载,请注明文章来源及相关版权信息。
Resources
China Linux Forum(finished)
Linux Forum(finished)
FreeBSD China(finished)
linuxforum.net
  业界新闻与评论
  自由软件杂谈
  IT 人生
  Linux软件快递
  翻译作坊
  Linux图书与评论
  GNU Emacs/XEmacs
  Linux 中文环境和中文化
  Linux桌面与办公软件
  Linux 多媒体与娱乐版
  自由之窗Mozilla
  笔记本电脑上的Linux
  Gentoo
  Debian 一族
  网络管理技术
  Linux 安装与入门
  WEB服务器和FTP服务器
  域名服务器和邮件服务器
  Linux防火墙和代理服务器应用
  文件及打印服务器
  技术培训与认证
  TI专版
  Linux内核技术
  Linux 嵌入技术
  Linux设备驱动程序
  Linux 集群技术
  LINUX平台数据库
  系统和网络安全
  CPU 与 编译器
  系统计算研究所专栏
  Linux下的GUI软件开发
  C/C++编程版
  PHP 技 术
  Java&jsp技术
  Shell编程技术
  Perl 编 程
  Python 编 程
  XML/Web Service 技术
  永远的Unix
  FreeBSD世界
   
如何让新加入到 list_store 的一行可见?
 
 
 
 
 
 
 
 
 
Subject: 如何让新加入到 list_store 的一行可见?
Author: gogoliu    Posted: 2002-07-25 16:11    Length: 129 byte(s)
[Original] [Print] [Top]
在使用
gtk_list_store_append ();
gtk_list_store_set ();
添加一行后,如何让那最后的一行可见?
[Original] [Print] [Top]
Subject: Re: 如何让新加入到 list_store 的一行可见?
Author: konghui    Posted: 2002-07-25 16:36    Length: 307 byte(s)
[Original] [Print] [Top]
gtk_list_store_append ();
gtk_list_store_set ();
>>添加一行后,如何让那最后的一行可见?
不明白你的意思,难道你用了上面两行程序后,见不到添加的项。
我的程序没这个问题。这几天,我也在研究 TreeView。
你知道如何计算 TreeView 中有多少 row 吗?
[Original] [Print] [Top]
Subject: Re: 如何让新加入到 list_store 的一行可见?
Author: gogoliu    Posted: 2002-07-25 19:36    Length: 409 byte(s)
[Original] [Print] [Top]
加入后的那行当然可以显示出来,只是如果行数过多的话就只能显示在下面了(看不见),我要它能被看见。

在 GTK 的邮件列表中搜索到可以用 gtk_tree_view_scroll_to_point ( ) 或 gtk_tree_view_scroll_to_cell ( ) 实现,不过不是很明白这两个函数的具体意义,所以上来问问。

计算 TreeView 中行数可以用:
gtk_tree_model_iter_n_children (GTK_TREE_MODEL(list_sotre), NULL);
[Original] [Print] [Top]
Subject: Re: 如何让新加入到 list_store 的一行可见?
Author: konghui    Posted: 2002-07-25 21:33    Length: 302 byte(s)
[Original] [Print] [Top]
我试验了一下,用下面几行程序就可以达到要求了。
i=gtk_tree_model_iter_n_children(GTK_TREE_MODEL(model),NULL);
g_snprintf(buf,10,"%d",i-1);
path=gtk_tree_path_new_from_string(buf);
gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW(treeview),path,NULL,TRUE,1.0,0.0);
[Original] [Print] [Top]
Subject: Re: 如何让新加入到 list_store 的一行可见?
Author: gogoliu    Posted: 2002-07-26 08:33    Length: 46 byte(s)
[Original] [Print] [Top]
要是想让其中某一指定的行可见呢?那该如何解决。
[Original] [Print] [Top]
Subject: Re: 如何让新加入到 list_store 的一行可见?
Author: konghui    Posted: 2002-07-26 11:34    Length: 203 byte(s)
[Original] [Print] [Top]
我已经试验了,指定某一行可见是没有问题的。
但是我的程序中有一个问题,我设置了排序,添加一行后,会
自动被排序,我不知如何得到刚添加的那行的行号或 path。
这样就无法滚动到该行了。
[Original] [Print] [Top]
Subject: Re: 如何让新加入到 list_store 的一行可见?
Author: gogoliu    Posted: 2002-07-26 13:32    Length: 161 byte(s)
[Original] [Print] [Top]
试试:
gtk_list_store_append ();
gtk_list_store_set ();
gtk_tree_model_get_path ();

关键是GtkTreeIter。
[Original] [Print] [Top]
Subject: Re: 如何让新加入到 list_store 的一行可见?
Author: konghui    Posted: 2002-07-26 15:48    Length: 184 byte(s)
[Original] [Print] [Top]
好了,我这没问题了。
我问一个问题。
程序启动后,向 treeview 中添加行不能自动排序,需要点一下列头,之后
添加行才能自动排序。如果不点,不能自动排序。
[Original] [Print] [Top]
Subject: Re: 如何让新加入到 list_store 的一行可见?
Author: gogoliu    Posted: 2002-07-26 17:04    Length: 131 byte(s)
[Original] [Print] [Top]
或许你要先使用 g_signal_emit() 发送一个信号给那一列才行。
看看GNOME2中有没有实现这样功能的软件,看看源码就知道如何解决了。
[Original] [Print] [Top]
« Previous thread
如何在anjuta下使用c++
Linux下的GUI软件开发
45
Next thread »
要在GtkTextView中使用等宽字体
     

Copyright © 2007~2009 UNIX Resources Network, All Rights Reserved.      About URN | Privacy & Legal | Help | Contact us
webmaster: webmaster@unixresources.net
This page created on 2009-09-07 16:43:03, cost 0.0357928276062 ms.