LAYOUT DE CONTROLS(WIDGETS)

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