2010-05-07 29 views
1

我希望我的GtkTextView在长字符串的末尾只显示一定数量的字符。这是可能的,我该怎么做?如何在C中设置gtk_text_view的缓冲区限制?

+0

我查看了GtkTextBuffer的GTK文档我找不到任何有关缓冲区大小或缓冲区大小限制的参考。你为什么想这个? – 2010-05-07 19:37:37

+0

因为在我的应用程序中,GtkTextView将充满越来越多的文本信息,如果没有限制,我怀疑它会崩溃。 – httpinterpret 2010-05-08 04:21:31

回答

1

连接到insert-text信号GtkTextBuffer。在你的回调中,获取文本的长度。如果超过限制的时间越长,得到两个开始iters,并通过人物的量移动他们的一个前要删除:

GtkTextIter range_start, range_end; 
gtk_text_buffer_get_start_iter(buffer, &range_start); 
range_end = range_start; 
gtk_text_iter_forward_chars(&range_end, num_chars); 
gtk_text_buffer_delete(buffer, &range_start, &range_end); 

这就是说,你必须把文本LOTGtkTextBuffer中崩溃应用程序。

+0

LOT =几个千兆字节? – httpinterpret 2010-05-08 10:20:08

+0

如果您要处理几个千兆字节,为什么您甚至使用文本视图?没有用户会滚动浏览千兆字节的文本。没有用户甚至会活到足够长的时间!也许你需要过滤数据或直接写入磁盘文件。 – ptomato 2010-05-08 10:24:27

相关问题