NOTA: o código desta página será iniciado a partir do arquivo da página anterior, arquivo "calculadora1.c". Caso não esteja com ele, baixe-o e renomeie para "calculadora.c".
Compile com o seguinte comando:
gcc calculadora.c -o calculadora.out `pkg-config --cflags --libs gtk+-2.0`
Execute com:
./calculadora.out
Declarando os Widgets
Partindo da premissa, que absolutamente tudo em GTK são widgets, devemos declarar todos os elementos que irão compor nossa interface, sendo eles todos os botões, a janela, a entrada e a tabela. Então, após o widget janela (declarada na primeira aula ) vá declarando os widgets e separando eles por vírgula (não se esqueça de adicionar o ponto e vírgula no último widget para finalizar a instrução).
Inicializando a Entrada
Logo após a inicialização da janela, declare a entrada através da função:
entrada = gtk_entry_new();
Ficando assim:
Inicializando os botões
Para inicializar botões com textos, usamos a função:
botao_de_teste = gtk_button_new_with_label ("texto de teste ");
Dessa forma, inicialize todos os botões com seus respectivos textos, ficando assim:
Inicializando a Tabela
Como vimos na página anterior, inicializamos nossa tabela de 7 linhas e 5 colunas através da função:
tabela = gtk_table_new (6,4,TRUE);
Definindo Tamanho e título da Interface
Para definir um título para a interface, é bem simples, basta digitar a seguinte função:
gtk_window_set_title (GTK_WINDOW(janela),"Calculadora GTK");
Para definir o tamanho da interface, use a função abaixo:
gtk_window_set_default_size(GTK_WINDOW(janela), 220, 300);
Sendo 220 a largura e 300 a altura. Ficando assim:
Empacotando os Widgets na Tabela
Como vimos na aula anterior, o empacotamento via Tabela em GTK pode ser feito através da seguinte função
gtk_table_attach_defaults (GTK_TABLE(tabela),botao_de_teste, 0,0,0,0);
Ficando assim:
Adicionando espaçamento Entre os Widgets
Para adicionar espaçamento entre os elementos da tabela, use as seguintes funções:
A. Para adicionar espaçamentos entre as linhas:
gtk_table_set_row_spacings (GTK_TABLE(tabela),3);
B. Para adicionar espaçamento entre as colunas:
gtk_table_set_col_spacings (GTK_TABLE(tabela),3);
Ficando assim:
Empacotando a Tabela Dentro da Janela
Através do sistema de Containers, podemos empacotar widgets dentro de widgets, como no caso em que iremos empacotar toda nossa tabela dentro da janela, com a seguinte função:
gtk_container_add(GTK_CONTAINER(janela),tabela);
Ficando assim:
Copile e execute o código e, se tudo der certo, terá esse resultado:
NOTA: o código feito nesta aula esta anexado como
calculadora2.c. Baixe e renomeie para "calculadora.c"
Compile com o seguinte comando:
gcc calculadora.c -o calculadora.out `pkg-config --cflags --libs gtk+-2.0`
Execute com:
./calculadora.out