免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 806 | 回复: 0
打印 上一主题 下一主题

GTK+图形化应用程序开发学习笔记(二十一)—文本框构建(3) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-07-11 09:38 |只看该作者 |倒序浏览

四、文本框缓冲区文本的获得和设置
       我们可以用函数gtk_text_buffer_get_text来获得文本框缓冲区的文本,用gtk_text_buffer_set_text来设置它。

10.
名称::
gtk_text_buffer_get_text
功能:
文本框缓冲区文本的获得
头文件:
#include
函数原形:
gchar* gtk_text_buffer_get_text(GtkTextBuffer *buffer,const GtkTextIter *start,const GtkTextIter *end,gboolean include_hidden_chars);
参数:
buffer      文本构件的缓冲区
start       文本框文字开始位置的iter
end        文本框文字结束位置的iter
include_hidden_chars   
返回值:
文本框缓冲区文本
      







gtk_text_buffer_get_text返回文本框缓冲区文本,include_hidden_chars设置是否包含看不见的文本。
      
下面是文本框缓冲区文本的获得的程序例子:
#include

GtkWidget *text_view;
GtkTextBuffer *buffer;
GtkTextIter *Iter;

void button_event(GtkWidget *widget,gpointer *data);

int main(int argc,char *argv[ ])
{
GtkWidget *window;
GtkWidget *button;
GtkWidget *box;

gtk_init(&argc,&argv);
window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_set_size_request(window,200,150);
g_signal_connect(GTK_OBJECT(window),”destroy”,G_CALLBACK(gtk_main_quit),NULL);

box=gtk_vbox_new(FALSE,0);
gtk_widget_show(box);

text_view=gtk_text_view_new();/*创建文本框构件*/
gtk_widget_set_request(text_view,200,120);
gtk_container_add(GTK_CONTAINER(window),box);
gtk_box_pack_start(GTK_BOX(box),text_view,FALSE,FALSE,0);
buffer=gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_view));
gtk_widget_show(text_view);

button=gtk_button_new_with_label(“确定”);
gtk_box_pack_start(GTK_BOX(box),button,FALSE,FALSE,5);
gtk_signal_connect(GTK_OBJECT(button),”clicked”,GTK_SIGNAL_FUNC(button_event),NULL);

gtk_widget_show(window);
gtk_main();
}

void button_event(GtkWidget *widget,gpointer *data)
{
gchar *text;
GtkTextIter start,end;

gtk_text_buffer_get_bounds(GTK_TEXT_BUFFER(buffer),&start,&end);/*获得缓冲区开始和结束位置的Iter*/

const GtkTextIter s=start,e=end;
text=gtk_text_buffer_get_text(GTK_TEXT_BUFFER(buffer),&s,&e,FALSE);/*获得文本框缓冲区文本*/
g_print(“%s\n”,text);
}
       当用户点击确定按钮,文本框的内容将会打印到屏幕上。

11.
名称::
gtk_text_buffer_set_text
功能:
文本框缓冲区文本的设置
头文件:
#include
函数原形:
void gtk_text_buffer_set_text(GtkTextBuffer *buffer,const gchar *text,
gint len);
参数:
buffer      文本构件的缓冲区
start       文本框文字开始位置的iter
end        文本框文字结束位置的iter
text        要设置的文本
返回值:

      







gtk_text_buffer_set_text会删除原有缓冲区内容,然后用text的内容代替。
      





本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/22935/showart_337716.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP