Criar tabela usando o Tkinter
Python oferece várias opções para desenvolver uma GUI (Graphical User Interface). De todos os métodos de GUI, o Tkinter é o método mais comumente usado. É uma interface Python padrão para o kit de ferramentas Tk GUI fornecido com Python. Python com Tkinter é a maneira mais rápida e fácil de criar aplicativos GUI. Criar uma GUI usando o Tkinter é uma tarefa fácil.
Observação: para obter mais informações, consulte Python GUI - tkinter
Criando tabelas usando o Tkinter
Uma tabela é útil para exibir dados na forma de linhas e colunas. Infelizmente, o Tkinter não fornece um widget de Tabela para criar uma tabela. Mas podemos criar uma tabela usando métodos alternativos. Por exemplo, podemos fazer uma tabela exibindo repetidamente os widgets de entrada na forma de linhas e colunas.
Para criar uma tabela com cinco linhas e quatro colunas, podemos usar dois loops for como:
para i no intervalo (5): para j no intervalo (4):
Dentro desses loops, temos que criar um widget Entry criando um objeto da classe Entry, como:
e = entrada (raiz, largura = 20, fg = 'azul', fonte = ('Arial', 16, 'negrito')
Agora, precisamos de lógica para colocar esse widget de entrada em linhas e colunas. Isso pode ser feito usando um grid()
método para o qual podemos passar posições de linha e coluna, como:
# aqui i e j indicam # posições de linha e coluna e.grid (linha = i, coluna = j)
Podemos inserir dados no widget Entry usando o insert()
método, como:
e.inserir (END, dados)
Aqui, 'END' indica que os dados continuam a ser acrescentados no final dos dados anteriores no widget de entrada.
Esta é a lógica usada no programa fornecido a seguir, usando os dados que vêm de uma lista. Pegamos uma lista contendo 5 tuplas e cada tupla contém quatro valores que indicam id do aluno, nome, cidade e idade.
Portanto, teremos uma tabela com 5 linhas e 4 colunas em cada linha. Este programa também pode ser aplicado em dados provenientes de um banco de dados para exibir todos os dados na forma de uma tabela.
Código fonte:
from
tkinter
import
*
class
Table:
def
__init__(
self
,root):
for
i
in
range
(total_rows):
for
j
in
range
(total_columns):
self
.e
=
Entry(root, width
=
20
, fg
=
'blue'
,
font
=
(
'Arial'
,
16
,
'bold'
))
self
.e.grid(row
=
i, column
=
j)
self
.e.insert(END, lst[i][j])
lst
=
[(
1
,
'Raj'
,
'Mumbai'
,
19
),
(
2
,
'Aaryan'
,
'Pune'
,
18
),
(
3
,
'Vaishnavi'
,
'Mumbai'
,
20
),
(
4
,
'Rachna'
,
'Mumbai'
,
21
),
(
5
,
'Shubham'
,
'Delhi'
,
21
)]
total_rows
=
len
(lst)
total_columns
=
len
(lst[
0
])
root
=
Tk()
t
=
Table(root)
root.mainloop()
Resultado:
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva