O documento resume:
1) A história do GTK+, desde o seu lançamento em 1998 para substituir o Motif até a versão 2 lançada em 2002 com novas funcionalidades e incompatibilidade com a versão 1.
2) Os principais casos de sucesso do uso do GTK+ como no GIMP, GNOME, Maemo e Firefox.
3) As principais características do GTK+ como ser multiplataforma, orientado a eventos, escrito na linguagem C e bem documentado.
25. Hello World pyGTK #!/usr/bin/env python #coding: utf-8 #Importa o GTK+ 2 import pygtk pygtk.require('2.0') import gtk #Cria o callback chamado no evento "clicked" do botão. def onClick(self, widget, data=None): print "Hello World" #Cria o botão com label button = gtk.Button("Hello World") #Altera o tamanho do botão button.set_size_request(200, 70) #Conecta o sinal "clicked" do botão ao callback "onClick" button.connect("clicked", onClick, None) #Cria a janela window = gtk.Window(gtk.WINDOW_TOPLEVEL) #Seta o título window.set_title("Tchelinux"); #Conecta o sinal de destruir ao método de encerrar o GTK+ window.connect("destroy", gtk.main_quit) #Adiciona o botão a janela window.add(button) #Mostra a janela com o botão window.show_all() #Inicia o GTK+ gtk.main()
26. Hello World PHP-GTK <? #Cria o callback chamado no evento "clicked" do botão. function onClick() { echo "Hello World"; } #Cria o botão com label $botao = new GtkButton('Hello World'); #Altera o tamanho do botão $botao->set_size_request(200, 70); #Conecta o sinal "clicked" do botão ao callback "hello" $botao->connect('clicked', 'onClick'); #Cria a janela $janela = new GtkWindow(); #Seta o título $janela->set_title('Tchelinux'); #Conecta o sinal de destruir ao método de encerrar o GTK+ $janela->connect('destroy', array('gtk', 'main_quit')); #Adiciona o botão a janela $janela->add($botao); #Mostra a janela com o botão $janela->show_all(); #Inicia o GTK+ Gtk::main(); ?>
27. Hello World C-GTK //Inclui o GTK+ 2 #include <gtk-2.0/gtk/gtk.h> //Cria o callback chamado no evento "clicked" do botão. void onClick(GtkWidget *w, gpointer p) { g_print("Hello world"); } void main(int argc, char **argv) //default main function { //Cria os widgets GtkWidget *window, *button; //Incia o GTK+ gtk_init(&argc, &argv); //Cria o botão com label button = gtk_button_new_with_label("Hello world"); //Altera o tamanho do botão gtk_widget_set_size_request(button, 200, 70); //Conecta o sinal "clicked" do botão ao callback "hello" gtk_signal_connect(GTK_OBJECT(button), "clicked", onClick, NULL); //Cria a janela window = gtk_window_new(GTK_WINDOW_TOPLEVEL); //Seta o título gtk_window_set_title(GTK_WINDOW(window), "Tchelinux"); //Conecta o sinal de destruir ao método de encerrar o GTK+ gtk_signal_connect(GTK_OBJECT(window), "destroy", gtk_main_quit, NULL); //Adiciona o botão a janela gtk_container_add(GTK_CONTAINER(window), button); //Mostra a janela com o botão gtk_widget_show_all(window); //Inicia o GTK+ gtk_main(); }