O que normalmente chamamos de "controls" (TextBox, Botão etc.), no Python chama-se: "widgets".
A coleção de widgets que o XO aceita está no módulo gtk, donde precisamos dar um "import", para usá-los.
Como o XO não aceita múltiplas janelas, o layout da tela fica fácil de ser feito. Podemos usar o objeto Fixed que pode ser criado com:
self.fix = gtk.Fixed()
Para adicionar esse objeto à tela do XO usamos:
self.add(self.fix)
Apesar de não ser visivel, temos, para ativá-lo, que dar um:
self.fix show()
IMPORTANTE: Estamos usando o prefixo self para tornar os objetos sempre "locais", o que é uma boa prática na Programação Orientada a Objetos.
Os métodos de Fixed são:
put(widget, x,y)
Colocará o widget na posição x, y - coordenadas definidas a partir do canto superior esquerdo da tela.
move(widget, x,y)
Move o widget para a posição x, y.
remove(widget)
Uma outra coisa importante e genérica no uso de widgets é a definição do tamanho da fonte. Para isso existe o objeto Settings que define características gerais dos widgets. Vamos falar só de umas propriedades específicas para fonte.
Para criar um prefixo desse objeto usamos: gtk.settings_get_default(). Como queremos usar umas propriedades dele temos que usar: gtk.settings_get_default().props. Para simplificar vamos logo dizer como definimos o tamanho ou tipo de fonte, com dois exemplos:
gtk.settings_get_default().props.gtk_font_name = "Sans 15" ou gtk.settings_get_default().props.gtk_xft_dpi *= 1.5
O default de fonte é Sans 10 e o default de tamanho é 1024 dots/polegada - do qual usaremos múltiplos.
IMPORTANTE: Lembre-se que a resolução da tela do XO é diferente da resolução do emulador. Assim, possivelmente você deverá ter que reacertar o layout e tamanho de fonte, quando testar sua aplicação num XO real.
LIÇÂO ANTERIOR PRÓXIMA LIÇÂO ÍNDICE HOMEPAGE