2010-05-14 84 views
3

如何打印(例如在标签中)文本到GtkTextView中? 对于GtkLabel和GtkEntry,有gtk_label_get_text()和gtk_entry_get_text(),但对于GtkTextView?打印GtkTextView文本

回答

3

您可以:

GtkTextIter start, end; 
GtkTextBuffer *buffer = gtk_text_view_get_buffer (text_view); 
gchar *text; 

gtk_text_buffer_get_bounds (buffer, &start, &end); 
text = gtk_text_buffer_get_text (buffer, &start, &end, FALSE); 

不要忘记g_free (text)不再需要时。

+0

如果我使用的char *的文本? – stdio 2010-05-14 16:28:57

+0

'gchar'与'char'相同,所以你也可以使用'char *'。 – doublep 2010-05-14 19:49:00

1

基于doublep的回答,快速复制/粘贴:

char *get_text_of_textview(GtkWidget *text_view) { 
    GtkTextIter start, end; 
    GtkTextBuffer *buffer = gtk_text_view_get_buffer((GtkTextView *)text_view); 
    gchar *text; 
    gtk_text_buffer_get_bounds(buffer, &start, &end); 
    text = gtk_text_buffer_get_text(buffer, &start, &end, FALSE); 
    return text; 
}