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