Introdução
Vamos ver hoje as funções de GTK que fazem a
mágica acontecer. Vejamos como pegar valores digitados por
um usuário em uma "Text Entry", como escrever em uma "Text
Box", como inserir em uma "Columned List" (clist), como alterar
um label e como mostrar/esconder janelas. Ufa.
Desta vez não irei mostrar passo a passo, pois fica
meio chato de acompanhar. Vou falar o que deve ser feito, e o
leitor deve executar os passos com a experiência já
obtida nestes dois últimos artigos sobre o assunto.
Iniciando o projeto
Primeiro, crie uma janela. Dentro da janela, adicione o
widget "Notebook". Entre com o valor 2. Mude o label "label1"
para "Inserir". E mude o label "label2 " para "Mensagens".
Divida o notebook "Inserir" em 4 partes verticais (widget
"Vertical Box"). Nas duas últimas partes adicione 2
botões com os respectivos labels: "Inserir" e "Mostrar".
Na primeira parte, adicione o widget "Scrolled Window" e dentro
deste adicione o widget "Columned List" com valor 1. Mude o
label da clist para "Lista". Na parte vazia que sobrou
(terceira), adicione o widget "Text Entry".
Agora, no notebook "Mensagens" adicione apenas um "Text Box".
Conecte o sinal
clicked
do botão "Inserir" com a função "insere". E no
botão "Mostrar" conecte o sinal
clicked
com a função "mostra". Clique no clist que você
criou. Agora na janela "Properties", tab "Signals", conecte o
sinal
select_row
com a função "seleciona".
Crie uma nova janela. Mude seu título para "Mensagem".
Divida em duas partes verticais. Na primeira parte adicione um
widget "Label". Na segunda parte, adicione um botão com o
label "OK" conectado à função "esconde". Mude o
tamanho da janela para 200x65. E mude a altura da primeira
parte vertical (tab "Common") para 32.
Agora Salve. Feito isso, agora é só programar.
O que queremos fazer é um programa que ao se clicar no
botão "Inserir" ele pega o que está no text entry e
joga na clist e também no text box. Além disso, ao se
clicar no botão "Mostrar" abre-se uma janela mostrando o
que foi selecionado na clist. Clicando no botão ok desta
janela ela se fecha.
Ao invés de dar um passo a passo como semana passada,
estou passando o código fonte pronto para analisarmos
juntos. (Clique
aqui
para baixar).