PRUEBA GTK

 avatar
unknown
c_cpp
3 years ago
2.7 kB
5
Indexable
#include <gtk/gtk.h>


void on_click1_clicked (  GtkButton* btn1,  gpointer label1 ) {

	gtk_label_set_label (  label1,  "Codigo Cristo" );

}


void on_click2_clicked (  GtkButton* btn1,  gpointer label2 ) {

	gtk_label_set_label (  label2,  "Bienvenidos" );

}


void on_click4_clicked (  GtkButton* btn1,  gpointer label1 , gpointer label2 ) {

	gtk_label_set_label (  label1,  "Texto box 1" );
	gtk_label_set_label (  label2,  "Texto box 2" );

}




static void activate (GtkApplication* app, gpointer user_data) {

	GtkWidget *window;

	GtkWidget *boxprincial;
	GtkWidget *box1;
	GtkWidget *box2;

	GtkWidget *label1;
	GtkWidget *label2;
	GtkWidget *btn1;
	GtkWidget *btn2;
	GtkWidget *btn3;
	GtkWidget *btn4;

	window = gtk_application_window_new (app);

	boxprincial = gtk_box_new (GTK_ORIENTATION_VERTICAL, 25);
	box1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
	box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);

	label1 = gtk_label_new("Texto box 1"); 
	label2 = gtk_label_new("Texto box 2"); 

    btn1 = gtk_button_new_with_label("Cambia texto 1"); 
    btn2 = gtk_button_new_with_label("Cambia texto 2"); 
    btn3 = gtk_button_new_with_label("Cerrar"); 
    btn4 = gtk_button_new_with_label("Reiniciar texto"); 
	

	gtk_window_set_title ( GTK_WINDOW(window) , "Mi Programa en GTK" );
	gtk_window_set_default_size ( GTK_WINDOW (window),  500,  300 );
	gtk_window_set_position ( GTK_WINDOW (window), GTK_WIN_POS_CENTER );

	gtk_container_add(GTK_CONTAINER(window), boxprincial );

	gtk_box_pack_start ( GTK_BOX (boxprincial), box1,TRUE,FALSE,0);
	gtk_box_pack_start ( GTK_BOX (boxprincial), box2,TRUE,FALSE,0);

	gtk_box_pack_start ( GTK_BOX (box1), label1,TRUE,FALSE,0);
	gtk_box_pack_start ( GTK_BOX (box1), label2,TRUE,FALSE,0);

	gtk_box_pack_start ( GTK_BOX (box2), btn1,TRUE,TRUE,0);
	gtk_box_pack_start ( GTK_BOX (box2), btn2,TRUE,TRUE,0);
	gtk_box_pack_start ( GTK_BOX (box2), btn3,TRUE,TRUE,0);
	gtk_box_pack_start ( GTK_BOX (box2), btn4,TRUE,TRUE,0);

	gtk_box_reorder_child ( GTK_BOX (box2), btn4, 2);


 	g_signal_connect (btn1, "clicked", G_CALLBACK (on_click1_clicked), label1);
 	g_signal_connect (btn2, "clicked", G_CALLBACK (on_click2_clicked), label2);

 	g_signal_connect (btn4, "clicked", G_CALLBACK (on_click4_clicked), label1);

 	g_signal_connect_swapped (btn3, "clicked", G_CALLBACK (gtk_window_close), window);

	gtk_widget_show_all (window);
	
}

int main (int argc, char **argv) {

	GtkApplication *app;
	int status;
	app = gtk_application_new ("org.gtk.example", G_APPLICATION_FLAGS_NONE);
	g_signal_connect (app, "activate", G_CALLBACK (activate), NULL);
	status = g_application_run (G_APPLICATION (app), argc, argv);
	g_object_unref (app);

	return status;
}
Editor is loading...