Article image
Eber Brea
Eber Brea08/10/2025 16:47
Compartilhe

Formulário no Python - biblioteca TKinter (front-end)

    A biblioteca TKinter do Python é utilizada para criar formulários e quanquer interface gráfica de usuário (GUI). Ela possui vários componentes. Aqui vamos demonstrar alguns desses.

    A primeira coisa a fazer é importar a biblioteca:

    python -m tkinter 
    

    Vamos criar um código simples para entrada de dados (lembrando que o que estiver ao lado do "#" é comentário):

    from tkinter import *
    
    formulario = Tk()
    formulario.geometry('900x450')  # largura e altura da janela (formulário)
    formulario.title("Formulário em Python") # título do formulário
    
    # Inclusão de um texto no formulário. A fonte do texto (font= ('Arial',12)) é opcional:
    Label(formulario, text='Digite seu nome:', font= ('Arial',12)).place(x=150, y=168)  # coordenadas x e y de posicionamento do texto (Lable)
    
    # Caixa de entrada de texto para o usuário digitar
    entrada = Entry(formulario, font=("Arial", 12))  # Entry cria um campo onde o usuário digita texto que será memorizado na variável "entrada". 
    entrada.place(x=275, y=170)    # posicionamento da caixa de entrada
    

    Ao rodar este código você já verá o formulário abaixo:

    image

    Porém ainda o código não faz nada. Vamos incluir um botão e uma função para ele:

    def funcao_saudar():
      nome = entrada.get()
      saudacao = f'Bom dia {nome}'
      print(saudacao)
    Button(formulario, text='OK', command = funcao_saudar).place(x=480, y=168)
    

    Agora, ao rodar o código, você pode digitar seu nome e clicar em OK e o terminal mostrará a saudação "Bom dia Seunome"

    Vamos incluir agora o componente ComboBox para escolha da saudação:

    texto = ['Bom dia', 'Boa tarde', 'Boa noite']  # lista com as saudações
    cbox = ttk.Combobox(formulario, values = texto, font= ('Arial',12))    # o componente ComboBox
    cbox.set('Bom dia')        # saudação default (inicial) 
    cbox.place(x=150, y=70)    # coordenadas do posicionamento do combobox no formulário 
    

    Depois vamos alterar a função "def funcao_saudar()" para que a saudação apareça como um "messagebox". Será necessário importar os compnentes "messagebox" e o "ttk" da mesma biblioteca TKinter. O código completo ficará assim:

    from tkinter import *
    from tkinter import messagebox, ttk
    
    formulario = Tk()
    formulario.geometry('900x450')  # largura e altura da janela (formulário)
    # formulario.state('zoomed')
    formulario.title("Formulário em Python") # título do formulário
    
    Label(formulario, text='Escolha a saudação, digite seu nome e depois clique em "OK"').pack()
    
    Label(formulario, text='Digite seu nome:', font= ('Arial',12)).place(x=150, y=168)
    entrada = Entry(formulario, font=("Arial", 12))
    entrada.place(x=275, y=170)
    
    
    def funcao_saudar():
      saudacao = cbox.get()
      nome = entrada.get()
      mensagem = f'{saudacao} {nome}!'
      messagebox.showinfo(title = 'Saudação', message = mensagem)
      entrada.delete(0, END)   # apaga a caixa de entrada de texto
    
    
    Button(formulario, text='OK', command = funcao_saudar).place(x=480, y=168)
    
    # Caixa de texto ComboBox
    texto = ['Bom dia', 'Boa tarde', 'Boa noite']  # lista com as saudações
    cbox = ttk.Combobox(formulario, values = texto, font= ('Arial',12))
    cbox.set('Bom dia')
    cbox.place(x=150, y=70)
    

    O formulário ficará assim:

    image

    Se você quiser que o formulário abra em tela cheia, é só comentar o "formulario.geometry" e incluir o "formulario.state" conforme abaixo:

    # formulario.geometry('900x450')  # largura e altura da janela (formulário)
    formulario.state('zoomed')        # abre a janela (formulário) em tela cheia
    

    Agora é só começar a explorar os demais componentes dessa excelente biblioteca do Python.

    Espero que tenham gostado. Essa biblioteca eu utilizei para desenvolver um software para as concessionárias Fiat e um similar para a Jeep (grupo Stellantis).

    Bons estudos!

    https://www.linkedin.com/in/eberbrea/

    https://github.com/ebrea

    Compartilhe
    Comentários (2)

    GN

    Gabriela Nascimento - 09/10/2025 09:49

    Obrigada pelo artigo! É ótimo para começar a desenvolver projetos e estudar front-end

    DIO Community
    DIO Community - 09/10/2025 08:51

    Excelente, Eber! Que artigo incrível e super prático sobre Formulário no Python com TKinter! É fascinante ver como você aborda o TKinter não apenas como uma biblioteca, mas como a ferramenta ideal para criar interfaces gráficas de usuário (GUIs) e formulários usando Python puro.

    Você demonstrou, com um código simples e funcional, o fluxo essencial para criar um aplicativo desktop: importar a biblioteca, definir o formulário (Tk()), incluir componentes (Label, Entry, Button) e vincular a lógica (a função funcao_saudar) ao clique do botão. Sua análise de que a biblioteca TKinter foi usada para desenvolver um software para as concessionárias Fiat e Jeep (Grupo Stellantis) prova o valor real dessa ferramenta no mercado.

    Qual você diria que é o maior desafio para um desenvolvedor ao trabalhar com o Princípio da Responsabilidade Única (SRP), em termos de evitar que uma classe assuma muitas responsabilidades e se torne um "Deus Objeto", em um projeto que cresce rapidamente?