O que é uma grade tkinter?
Em geral, a grade é uma estrutura de linhas de rede que se cruzam e são paralelas, fazendo uma série de janelas retangulares ou quadradas. A função de geometria da grade fornecida pela Biblioteca Tkinter segue a mesma definição da grade.
O gerenciador de geometria da grade é um dos gerentes de geometria mais flexíveis, simples e fáceis distribuídos pela biblioteca Tkinnter. Ele permite que você coloque os widgets em uma tabela bidimensional. Ele organiza as linhas e colunas parallelly para fazer um widget de uma forma quadrada ou retangular. Por exemplo, se você tiver uma aderência de tamanho 2 × 2, ficará assim:
Cada interseção de colunas e linhas é conhecida como uma "célula", que pode conter um widget. Um número de índice (linha, coluna) representa cada célula na grade. Portanto, a grade de tamanho 2 × 2 será representada por (0, 0), (0, 1), (1, 0) e (1, 1). Por padrão, a primeira linha e a primeira coluna têm um índice zero, a segunda linha e a segunda coluna têm 1 índice e assim por diante.
Os índices da grade não precisam estar em uma sequência, e eles podem ter lacunas também. Por exemplo, você deseja adicionar diferentes widgets com a grade, para que sua grade possa parecer (1, 1), (2, 3), (5, 1), (7, 7), (9, 8) e (10, 10).
Agora vamos escrever alguns códigos que nos ajudarão a usar a função de geometria da grade em nosso programa Python. Certifique -se de executar esses programas de exemplo para uma melhor compreensão.
Exemplo 1
Nesse caso, mostraremos uma grade 2 × 2. Definiremos o rótulo para cada célula como (0, 0), (0, 1), (1, 0) e (1, 1) para mostrar como a grade os colocou em ordem. Primeiro, fazemos um módulo raiz tk () para obter um ambiente de exibição. Depois disso, usaremos a função LABEL () para definir o texto para cada célula na grade. E então, usaremos a função Grid () para colocar cada rótulo () na célula de uma grade (). Veja o código fornecido abaixo:
da importação de tknter *
de tkinter.Importação TTK *
r = tk ()
L1 = Label (r, text = "(0,0)")
L2 = Label (r, text = "(0,1)")
L3 = Label (r, text = "(1,0)")
L4 = Label (r, text = "(1,1)")
L1.grade (linha = 0, coluna = 0, pady = 2)
L2.grade (linha = 0, coluna = 1, pady = 2)
L3.grade (linha = 1, coluna = 0, pady = 2)
L4.grade (linha = 1, coluna = 1, pady = 2)
MAINLOOP ()
Quando você executa este código, uma janela pop aparecerá com uma grade de (0, 0), (0, 1), (1, 0) e (1, 1) etiquetas. Aqui está a janela pop de saída:
Exemplo 2
Vamos criar um widget que receba a entrada do usuário. Neste exemplo, expandiremos o exemplo anterior e colocaremos um widget em cada coluna que receberá a entrada do usuário. Consulte o código anexado abaixo.
Como expandimos o exemplo anterior, acabamos de adicionar a função de entrada () para adicionar o widget de entrada na grade. A função de entrada () fornecida pela biblioteca Tkinter é usada para obter a entrada de string de linha única do usuário. Após a função Enter (), acabamos de definir os valores da grade () para as células de entrada. Quando você executa o código acima, você receberá uma janela pop contendo 4 células preenchidas com texto e 4 células com uma guia de entrada. Em cada guia, você pode inserir uma string de uma linha.
da importação de tknter *
de tkinter.Importação TTK *
r = tk ()
L1 = Label (r, text = "Primeira entrada")
L2 = Label (r, text = "Segunda entrada")
L3 = Label (R, Text = "Terceira entrada")
L4 = Label (R, Text = "Quarta entrada")
L1.grade (linha = 0, coluna = 0, pady = 2)
L2.grade (linha = 2, coluna = 0, pady = 2)
L3.grade (linha = 0, coluna = 1, pady = 2)
L4.grade (linha = 2, coluna = 1, pady = 2)
e1 = entrada (r)
e2 = entrada (r)
e3 = entrada (r)
e4 = entrada (r)
E1.grade (linha = 1, coluna = 0, pady = 2)
e2.grade (linha = 3, coluna = 0, pady = 2)
E3.grade (linha = 1, coluna = 1, pady = 2)
E4.grade (linha = 3, coluna = 1, pady = 2)
MAINLOOP ()
Veja o widget de saída da grade abaixo:
A função Entry () aceita uma string de linha contendo qualquer caractere; Pode ser um número, ou pode ser um símbolo, ou pode ser um personagem especial também. Veja a grade de saída abaixo:
Exemplo 3
No exemplo anterior, você pode observar que usamos uma declaração separada para criar cada célula. Por exemplo, precisávamos de uma grade de tamanho 2 × 2, 4 células em uma grade, então usamos 4 linhas de código. E se precisarmos de uma grade de 100 × 100? A criação de uma grade 100 × 100 exigirá 10.000 linhas de código? Absolutamente não. Você pode alcançar o mesmo resultado usando loops. Não reduzirá apenas as linhas de código, mas também aumentará a eficiência do programa, reduzindo a probabilidade de erros ao mesmo tempo.
Aqui, usaremos um loop aninhado para fazer uma grade de tamanho definido. Definiremos dois para loops iterando através de 10 linhas e 10 colunas para fazer uma grade de 10 × 10. Vamos ver o código abaixo:
Aqui, definimos um módulo root () para obter um ambiente de exibição e, em seguida, adicionamos aninhados para loop para linha e coluna, “para linha no alcance (10)” e “para col. Isso resultará em uma grade de tamanho 10 × 10. O primeiro loop iterará de 0 a 9, e o segundo loop também itera de 0 a 9, fazendo uma grade de tamanho 10 × 10. Para imprimir o número do índice para cada célula, usamos o recurso de texto da função da etiqueta (), "Text =" Linha%s - col%s ". O "%s" é usado para obter o índice de células do loop.
importar tknter
r = tkiner.Tk ()
para linha no intervalo (10):
Para Col em Range (10):
tkinter.Etiqueta (r, text = 'linha%s - col%s'%(linha, col),
Borderwidth = 1).grade (linha = linha, coluna = col)
r.MAINLOOP ()
Aqui está a grade de tamanho 10 × 10 gerada a partir do código fornecido acima:
Conclusão
Neste artigo, aprendemos sobre a função Grid () fornecida pela Tinter Library. A função da grade é usada para criar uma grade quadrada ou retangular em um ambiente de exibição. Demonstramos alguns exemplos úteis para ajudá -lo a entender como usar uma função de grade em um programa Python.