4

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

4

3 回答 3

4

你可以:

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)何时不再需要。

于 2010-05-14T16:02:20.810 回答
3

根据 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;
}
于 2016-07-03T15:27:25.467 回答
1

仅对来自 Google 的人来说,这是在 python 中完成的方式:

def getText(textview):
    buffer = textview.get_buffer()
    startIter, endIter = buffer.get_bounds()    
    text = buffer.get_text(startIter, endIter, False) 
    return text
于 2019-10-24T12:44:30.247 回答