小编May*_*dar的帖子

在 C 中使用 GTK+ 单击按钮后,GUI 变得无响应

#include <gtk/gtk.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <string.h>


void display(GtkButton * b, gpointer data)
   {    
      while(1)
        {
          printf("hurrah!");

         }

}


void closeapp(GtkButton * b, gpointer data)
 {
   gtk_main_quit();
 }


int main(int argc,char *argv[])
 {
    Widgets     widg;


printf("hello");
GtkBuilder *gtkBuilder;
GtkWidget *window;


gtk_init(&argc,&argv);

gtkBuilder = gtk_builder_new();
gtk_builder_add_from_file(gtkBuilder,"hello_world.glade",NULL);

window = GTK_WIDGET(gtk_builder_get_object(gtkBuilder,"mywindow"));
widg.e1 = GTK_ENTRY( gtk_builder_get_object(gtkBuilder, "entry1" ) );
gtk_builder_connect_signals(gtkBuilder, &widg);
g_object_unref(G_OBJECT(gtkBuilder));
gtk_widget_show(window);


gtk_main();


return 0;

}
Run Code Online (Sandbox Code Playgroud)

单击按钮时,GUI 变得无响应。该程序应该打印“Hurrah”,并且它应该接受其他(closeapp)按钮的响应。我尝试使用 gdk_thread_enter() 和 gdk_thread_leave(),但它警告说它们已被弃用。请帮忙!

c gtk multithreading glade

-1
推荐指数
1
解决办法
792
查看次数

标签 统计

c ×1

glade ×1

gtk ×1

multithreading ×1