Распечатать текст GtkTextView - PullRequest
3 голосов
/ 14 мая 2010

Как я могу напечатать (например, на этикетке) текст в GtkTextView? Для GtkLabel и GtkEntry есть gtk_label_get_text () и gtk_entry_get_text (), но для GtkTextView?

Ответы [ 2 ]

3 голосов
/ 14 мая 2010

Вы можете:

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), когда он больше не нужен.

1 голос
/ 03 июля 2016

На основе ответа Даблп, для быстрого копирования / вставки:

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;
}
...