#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(),但它警告说它们已被弃用。请帮忙!