GTK glade下,到底怎么用textviewbuffer和textview输出内容在文本框里啊

GtkWidget *g_lbl_hello;
GtkWidget *g_lbl_count;
GtkWidget *text_output;
GtkTextBuffer *textbuffer_output;

 
int main(int argc, char *argv[])
{
    GtkBuilder      *builder;
    GtkWidget       *window;


    gtk_init(&argc, &argv);
 
    builder = gtk_builder_new();
    gtk_builder_add_from_file (builder, "Glade_Server.glade", NULL);
 
    window = GTK_WIDGET(gtk_builder_get_object(builder, "window_main"));
    gtk_window_set_title(GTK_WINDOW(window),"i am Server");
    gtk_builder_connect_signals(builder, NULL);
    
    // get pointers to the two labels
    text_output = GTK_WIDGET(gtk_builder_get_object(builder, "text_output"));
    textbuffer_output = GTK_TEXT_BUFFER(gtk_builder_get_object(builder, "textbuffer_output"));
    
    textbuffer_output = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_output));
    gtk_text_view_set_buffer(GTK_TEXT_VIEW(text_output),textbuffer_output);

   
    
    gtk_widget_show(text_output);
    g_object_unref(builder);
 
    gtk_widget_show(window);                
    gtk_main();
 
    return 0;
}

 
// called when button is clicked
void on_btn_listen_clicked()
{
         gchar *text = "socket is created!";
         GtkTextIter start,end;
         gtk_text_buffer_get_bounds(GTK_TEXT_BUFFER(textbuffer_output),&start,&end);

        


        // 创建一个UDP套接字
    int fd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
    if (-1 == fd)
    {
    printf("socket open err.");
    return -1;
    }
    else
        {
    printf("socket is created! \n");
        //strcpy(text,"socket is created");
        gtk_text_buffer_insert(GTK_TEXT_BUFFER(textbuffer_output),&start,text,strlen(text));
        }
        printf("\n");

}

有没有人能给我讲讲我这个是怎么回事啊,如果创建了socket,就会输出text到textview上面,但是运行完了我的textview上面什么都没有

参考:https://www.cnpython.com/qa/571760

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632