Material de apoio sobre Interfaces Gráficas com Python

Aqui você pode conferir os materiais de apoio para complementar o conhecimento adquirido nas vídeoaulas, a fim de fixar o conhecimento.


Método Pack de Posicionamento (Material de Apoio)

Nesta seção você poderá ver a lista de todos argumentos que podem ser utilizados pelo Pack assim como o funcionamento de cada um.

Argumento Descrição Como Usar
fill Permite que o widget se expanda em X, Y ou ambos os eixos, ocupando maior espaço caso a janela seja redimensionada self.coisa.pack(fill=tk.EIXO)
*no qual “EIXO” é o eixo que o widget irá se expandir. Pode ser: X, Y ou BOTH
expand Faz com que o widget cresça juntamente com o widgetPai, ou seja, o widget criado vai ocupar todo o espaço que o widgetPai possui. Isso ocorre se o valor expand for verdadeiro (TRUE) caso contrário, nada mudará. self.coisa.pack(expand=Opcao)
*no qual “Opcao” pode ser True se o widget ocupará o mesmo espaço que o widgetPai, ou False se os tamanhos mudam independentemente.
side Define um lado para o qual o widget irá, ou seja, indica-se um lado: topo, esquerda, direita ou baixo, e o widget será deslocado para esse lado. self.coisa.pack(side=tk.LADO)
*no qual “LADO” é o lado que o widget será posicionado, que pode ser: TOP (topo), LEFT (esquerda), RIGHT (direita) ou BOTTOM (baixo).
padx
ipadx
padx: Adiciona uma margem externa no eixo X (horizontalmente) ao widget. Medido em pixels. ipadx: Adiciona uma margem interna no eixo X (horizontalmente) ao widget. Medido em pixels. Externa:self.coisa.pack(padx=TAMANHO) Interna:self.coisa.pack(ipadx=TAMANHO)
*no qual “TAMANHO” é o valor em pixels da margem desejada
pady
ipady
padx: Adiciona uma margem externa no eixo Y (verticalmente) ao widget. Medido em pixels. ipadx: Adiciona uma margem interna no eixo Y (verticalmente) ao widget. Medido em pixels. Externa:self.coisa.pack(pady=TAMANHO) Interna:self.coisa.pack(ipady=TAMANHO)
*no qual “TAMANHO” é o valor em pixels da margem desejada
after O objeto empacotado com esse atributo,será empacotado após um outro objeto especificado. Podendo assim,inverter a ordem de empacotamento. self.coisa.pack(after = self.objeto)
*no qual self.objeto é um outro widget que será empacotado antes do widget atual.
before O objeto empacotado com esse atributo será empacotado antes de um outro objeto especificado. Podendo assim, inverter a ordem de empacotamento. self.coisa.pack(before = self.objeto)
*no qual self.objeto é um outro widget que será empacotado depois do widget atual.
anchor Define uma “âncora” ao widget.
Essa âncora aceita valores como: N(para norte), S(Sul), W (Oeste), etc.
Especifica a posição na qual o widget será inserido.
Por padrão o widget tem a âncora no centro (CENTER) isso faz com que ele fique centralizado na janela. Mudando a âncora, mudamos como o widget irá se comportar.
self.coisa.pack(anchor=tk.COORD)
*no qual “COORD” é a coordenada da âncora, que pode ser alguma das que compõem a imagem abaixo:

Coordenadas possíveis

Eventos no Tkinter (Material de Apoio)

Nesta seção você poderá ver a lista de todos os eventos que podem ser utilizados no tkinter assim como a descrição do que cada um faz.

Evento Descrição
CLIQUE DO BOTÃO DO MOUSE:

“< Button-X >”
Onde X é um número de 1 a 5.
O evento ocorre quando algum botão do mouse é apertado. Os botões são representados entre os números 1 e 5.
< Button-1 > : Botão esquerdo do mouse.
< Button-2 > : Botão do meio (Scroll) do mouse.
< Button-3 > : Botão direito do mouse.
< Button-4 > : Refere-se ao scroll para cima no mouse.
< Button-5 > : Refere-se ao scroll para baixo no mouse.
CLIQUE E ARRASTO DO MOUSE:

“< Motion >”
O evento ocorre quando algum botão do mouse é apertado e em seguida, sem soltar o botão, o mouse é movido.
< B1-Motion > : Clique com o botão esquerdo do mouse, seguido de movimentação.
< B2-Motion > : Clique com o botão do meio (scroll) do mouse, seguido de movimentação.
< B3-Motion > : Clique com o botão direito do mouse, seguido de movimentação
A posição é dada em X e Y, passados pelo objeto especial da event handler, event.
SOLTAR O BOTÃO DO MOUSE:

“< ButtonRelease >”
O evento ocorre quando o botão do mouse é solto.
< ButtonRelease-1 > : Botão esquerdo do mouse.
< ButtonRelease-2 > : Botão do meio (scroll) do mouse.
< ButtonRelease-3 > : Botão direito do mouse.
DUPLO CLIQUE DO MOUSE:

“< Double-Button >”
Similar ao <Button> evento (citado acima), porém quando o clique é feito duas vezes.
Para selecionar qual botão do mouse utiliza-se < Double-Button-1 > para o botão direito do mouse, < Double-Button-2 > para o botão do meio (scroll) do mouse ou < Double-Button-3 > para o botão direito do mouse.
PONTEIRO DO MOUSE ENTRA NO WIDGET:

“< Enter >”
Atenção! Esse evento corresponde a ação do ponteiro do mouse entrar no widget!O nome não se refere ao Enter do teclado!
PONTEIRO DO MOUSE SAI NO WIDGET:

“< Leave >”
O evento ocorre quando o ponteiro do mouse sai do widget.
GANHO DE FOCO:

“< FocusIn >”
O evento ocorre quando, pelo teclado, o widget ganha foco.
PERCA DE FOCO:

“< FocusOut >”
O evento ocorre quando, pelo teclado, o foco muda do widget em questão para outro widget.
PRESSIONAR A TECLA ENTER:

“< Return >”
O evento ocorre quando a tecla enter é pressionada no teclado.
Existem outras teclas especiais que adotam nomes diferentes, essas são:
<Cancel>: A tecla Break
<BackSpace>: A tecla backspace.
<Tab>
<Shift_L>: qualquer tecla shift (esquerda ou direita)
<Control_L>: qualquer tecla Ctrl (esquerda ou direita)
<Alt_L>: qualquer tecla alt (esquerda ou direita)
<Pause>: a tecla pause
<Caps_Lock>: a tecla capsLock.
<Escape>: a tecla esc.
<Prior>: tecla pageUp (pg Up)
<Next>: tecla pageDown (pg Dn)
<End>: a tecla End.
<Home>
<Left>: seta para esquerda.
<Up>: seta para cima.
<Right>: seta para direita.
<Down>: seta para baixo.
<Print>, <Insert>, <Delete>
<F1>,<F2>,<F3>,<F4>,<F1>,<F5>,<F6>, até F12.
<Num_Lock> e <Scroll_Lock>
OUTRAS TECLAS:

“< Key >”
Evento ocorre quando é pressionada alguma tecla que não foi citada no evento acima, ou seja, as teclas convencionais.
A tecla é passada no objeto especial event do eventhandler.
USUÁRIO APERTA O SHIFT SEGUIDO DA SETA PARA CIMA:

“< Shift-Up >”
O evento ocorre quando o usuário aperta a seta para cima enquanto pressiona a tecla shift. Pode ser usado também Alt, Shift e Control no antes do “-Up”.
A tecla é passada no objeto especial event do eventhandler.
O TAMANHO DO WIDGET É ALTERADO:

“< Configure >”
O evento ocorre quando o tamanho do widget foi mudado. O novo tamanho é passado pelo objeto especial event no eventHandler, nos atributos width e height.

Entrada de dados (Material de Apoio)

Nesta seção você poderá ver os principais métodos e opções que podem ser aplicadas ao widget Entry.

Método Descrição
get() Retorna o texto atual da entrada em formato de string.
Note que, se essa entrada for para números será necessário utilizar os conversores Int() para inteiro ou Float() para decimais.
insert(index, string) Insere para uma string a partir de um index dado.
Esse index, será o caractere de referência para a inserção da nova string, por exemplo, para inserir logo no começo, o valor do index será 0.
delete(primeiro, ultimo) Em complemento ao anterior, podemos também remover uma informação da entrada de dados.
Os parâmetros servem como um intervalo, sendo o “primeiro” o primeiro caractere de referência e o “ultimo” como o último caractere.
Então, se por exemplo, deseja-se excluir todo o conteúdo, pode-se utilizar o delete(0, tk.END).
Opção Descrição
font Altera a fonte do texto da entrada de dados.
Essa opção pode ser utilizada na criação do Entry ou utilizando dicionários.
O valor esperado é uma tupla do tipo: (“Fonte”,tamanho) Exemplo: (“Arial”,16) (“Consolas”, 8)
justify Dita como o texto será alinhado dentro da entrada de dados, isso é, centralizado, à direita ou à esquerda.
Para utilizá-la, na criação do Entry ou utilizando dicionários, aceita-se os valores: tk.CENTER (para centralizado), tk.RIGHT (para texto à direita) ou tk.LEFT (para texto à esquerda)
show Mostra um dado caractere ao invés da letra digitada no Entry.
Por exemplo, em uma senha, pode-se definir: show=”*” na criação do Entry.
Dessa forma, todo novo caractere digitado pelo usuário será trocado por *.
state Define-se um estado para a entrada de texto.
Os estados permitidos são tk.ACTIVE, tk.NORMAL, tk.DISABLED.
Tk.ACTIVE deixa a entrada de dados com o foco (bordas azuis).
Tk.NORMAL deixa a entrada de dados pronta para receber informações.
Tk.DISABLED desativa a entrada de dados, não permitindo a inserção de novas informações do usuário (porém novas informações podem ser escritas via código)