Programando com Python - o curso para iniciantes.

Guia amigável para iniciantes sobre o uso do Tkinter Grid-Manager

Todos os vídeos do tutorial Programação com Python - curso para iniciantes.

Se você está procurando uma maneira de tornar suas Tkinter aplicações mais eficientes, o Grid-Manager é a ferramenta ideal para você. Com ele, você pode organizar sua interface gráfica do usuário (GUI) em uma grade, criando uma aplicação estruturada e com aparência ordenada. Neste guia, você aprenderá passo a passo como usar o gerenciador de geometria Grid para colocar seus widgets corretamente e melhorar a experiência do usuário.

Principais aprendizados

  • O gerenciador de grade permite uma fácil disposição de widgets em uma grade bidimensional.
  • Cada widget é posicionado através de linhas (rows) e colunas (columns).
  • Você pode personalizar o gerenciador de grade para criar diferentes layouts, como mesclar colunas ou dispor elementos sobre várias linhas e colunas.

Guia Passo a Passo

Passo 1: Configuração da sua aplicação Tkinter

Para começar com o gerenciador de grade, primeiro crie um novo script Python. Nomeie-o, por exemplo, como GridManager.py. Importe a biblioteca Tkinter adicionando o seguinte código.

Guia amigável para iniciantes sobre o uso do Tkinter Grid-Manager
from tkinter import *

Agora você inicializa sua janela principal.

root = Tk()

Passo 2: Criar Labels e Campos de Entrada

Adicione dois labels e os respectivos campos de entrada. O primeiro label deve conter o texto "Primeiro Nome", e o campo de entrada deve ser posicionado ao lado desse label.

label1 = Label(root, text="Vorname")
label1.grid(row=0, column=0)

entry1 = Entry(root) entry1.grid(row=0, column=1)

O segundo label será usado para o "Último Nome", e o campo de entrada será posicionado abaixo do primeiro label.

Guia amigável para iniciantes sobre o uso do Tkinter Grid-Manager
label2 = Label(root, text="Nachname")
label2.grid(row=1, column=0)

entry2 = Entry(root) entry2.grid(row=1, column=1)

Passo 3: Adicionar Checkbutton

Para refinar ainda mais o layout, adicionaremos um checkbutton. Este deve ser posicionado na linha seguinte. Aqui, o atributo sticky pode ser usado para alinhar o botão à esquerda.

Guia amigável para iniciantes sobre o uso do Tkinter Grid-Manager
checkbutton = Checkbutton(root, text="Eu aceito os termos.")
checkbutton.grid(row=2, column=0, columnspan=2, sticky=W)

Passo 4: Adicionar Imagem

Agora é hora de adicionar uma imagem. A imagem será posicionada na primeira linha da terceira coluna e deve se estender por duas colunas e duas linhas. Para isso, usamos os parâmetros rowspan e columnspan.

Guia amigável para iniciantes sobre a utilização do Tkinter Grid-Manager
image = PhotoImage(file="bild.png")
image_label = Label(root, image=image)
image_label.grid(row=0, column=2, rowspan=2, columnspan=2, sticky='nsew', padx=3, pady=3)

Passo 5: Adicionar Botões

Vamos agora adicionar dois botões à interface. O primeiro botão será posicionado na terceira linha da terceira coluna.

Guia amigável para iniciantes sobre o uso do Tkinter Grid-Manager
button1 = Button(root, text="Botão 1")
button1.grid(row=2, column=2)

O segundo botão vai na mesma linha, mas na quarta coluna.

Guia amigável para iniciantes sobre o uso do Tkinter Grid-Manager
button2 = Button(root, text="Botão 2")
button2.grid(row=2, column=3)

Passo 6: Ajustar o Layout

Para aumentar o espaço entre os botões, você pode usar os atributos padx e pady. Aqui, um espaço adicional de 2 pixels é adicionado para separar visualmente os botões.

Guia amigável para iniciantes sobre o uso do Tkinter Grid-Manager
button1.grid(padx=2, pady=2)
button2.grid(padx=2, pady=2)

Passo 7: Iniciar o Loop Principal

Para colocar a aplicação em funcionamento, você deve executar o comando mainloop().

root.mainloop()

Resumo

Neste guia, você aprendeu como usar o gerenciador de grade em Tkinter para criar e organizar widgets de forma eficaz. Você criou labels, campos de entrada, botões e checkbuttons, integrando-os em um layout estruturado. O manejo de rowspan, columnspan e atributos sticky oferece várias possibilidades para personalizar sua interface conforme suas necessidades.

Perguntas Frequentes

Como uso o gerenciador de grade em Tkinter?Organizando cada widget na linha e coluna desejada usando o método.grid().

O que faz o método rowspan?Com rowspan, você pode fazer um widget se estender por várias linhas.

Como adiciono espaçamento entre widgets?Use os parâmetros padx e pady no método grid() para definir espaçamento horizontal e vertical.

Qual é a diferença entre columnspan e sticky?Columnspan define quantas colunas um widget ocupa, enquanto sticky determina a posição dentro da célula.