image

Bootcamps ilimitados e +650 cursos pra sempre

60
%OFF
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
    Recomendados para você
    Luizalabs - Back-end com Python
    PcD Tech Bradesco - Java & QA Developer
    Nexa - Fundamentos de IA Generativa com Bedrock
    Comentários (0)