FunWithElectronics.com
          - Collection of Information for those with Electronics as a Hobby
Up one level (C programming)

Simple GTK window





#include <gtk/gtk.h>
#include <stdio.h>



gboolean delete_event( GtkWidget *Widget, GdkEvent *event, gpointer data)
{
	g_print("delete event occured\n");
	gtk_widget_destroy(Widget);

	return 1;

}

void destroy(GtkWidget *Widget, gpointer data)
{
	gtk_main_quit();
}

void hello(GtkWidget *widget, gpointer data)
{
	g_print("Jkfd %s",data);
}

int main(int argc, char **argv)
{
	GtkWidget *window;
	GtkWidget *button, *button2;
	GtkWidget *hbox;
	GtkWidget *vbox;
	

	gtk_init(&argc, &argv);

	window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
	gtk_window_set_default_size(GTK_WINDOW(window),800,600);

//	gtk_window_set_title(GTK_WINDOW(window), "Hello buttons!");

	g_signal_connect(G_OBJECT(window), "delete_event", G_CALLBACK(delete_event), NULL);
	g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(destroy), NULL);
	
	gtk_container_set_border_width(GTK_CONTAINER (window), 10);

	button = gtk_button_new_with_label("Hello World");
	button2 = gtk_button_new_with_label("Tull");
	char *bokstaver = "Tullegreier";
	g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(hello), bokstaver);
	g_signal_connect_swapped(G_OBJECT(button), "clicked", G_CALLBACK(gtk_widget_destroy), G_OBJECT(window));
	
	hbox = gtk_hbox_new(1,0);
	vbox = gtk_vbox_new(0,0);

	gtk_container_add(GTK_CONTAINER(window),vbox);

	gtk_box_pack_start(GTK_BOX(vbox), hbox,0,1,0);

	gtk_box_pack_start(GTK_BOX(hbox),button,0,0,10);
	gtk_box_pack_start(GTK_BOX(hbox),button2,0,0,10);

//	gtk_container_add(GTK_CONTAINER (window), button);

	gtk_widget_show(vbox);
	gtk_widget_show(button);
	gtk_widget_show(button2);
	gtk_widget_show(hbox);
	gtk_widget_show(window);

	gtk_main();

	return 0;

}



Add a comment:

Fill in number
Name:
Title:
Text:
 


Privacy | Contact