【问题标题】:Print the text of GtkTextView打印 GtkTextView 的文本
【发布时间】:2019-10-24 20:44:30
【问题描述】:

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

【问题讨论】:

    标签: gtk gtktextview


    【解决方案1】:

    你可以:

    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)

    【讨论】:

    • gcharchar 相同,所以你也可以使用char*
    【解决方案2】:

    根据 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;
    }
    

    【讨论】:

      【解决方案3】:

      只为来自 Google 的你们,这是在 python 中完成的方式:

      def getText(textview):
          buffer = textview.get_buffer()
          startIter, endIter = buffer.get_bounds()    
          text = buffer.get_text(startIter, endIter, False) 
          return text
      

      【讨论】:

        猜你喜欢
        • 2020-08-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-11
        • 1970-01-01
        • 2014-03-31
        • 2019-07-07
        • 1970-01-01
        相关资源
        最近更新 更多