Exemplo de Tkinter

Resumo : neste tutorial, você aprenderá como construir um aplicativo conversor de temperatura Tkinter.

Introdução ao aplicativo Conversor de Temperatura

A seguir mostramos o aplicativo Conversor de Temperatura que você irá construir. O aplicativo converte uma temperatura de Fahrenheit para Celsius:

Basicamente, o aplicativo possui um rótulo , uma entrada e um botão . Quando você insere uma temperatura em Fahrenheit e clica no Convertbotão, o valor na caixa de texto será convertido de Fahrenheit para Celsius.

Se você inserir um valor que não pode ser convertido em número, o programa mostrará um erro.

Para construir este aplicativo, siga estas etapas.

Primeiro, importe o tkintermódulo, ttko submódulo e a showerrorfunção de tkinter.messagebox:

import tkinter as tk
from tkinter import ttk
from tkinter.messagebox import showerrorLinguagem de código:  Python  ( python )

Segundo, crie a janela raiz e defina suas configurações:

# root window
root = tk.Tk()
root.title('Temperature Converter')
root.geometry('300x70')
root.resizable(False, False)
Linguagem de código:  Python  ( python )

Terceiro, defina uma função que converta uma temperatura de Fahrenheit para Celsius:

def fahrenheit_to_celsius(f):
    """ Convert fahrenheit to celsius
    """
    return (f - 32) * 5/9
Linguagem de código:  Python  ( python )

Quarto, crie um quadro que contenha campos de formulário:

frame = ttk.Frame(root)Linguagem de código:  Python  ( python )

Quinto, defina uma opção que será utilizada por todos os campos do formulário:

options = {'padx': 5, 'pady': 5}Linguagem de código:  Python  ( python )

Sexto, defina o rótulo, a entrada e o botão. O rótulo mostrará o resultado assim que você clicar no Convertbotão:

# temperature label
temperature_label = ttk.Label(frame, text='Fahrenheit')
temperature_label.grid(column=0, row=0, sticky='W', **options)

# temperature entry
temperature_entry = ttk.Entry(frame, textvariable=temperature)
temperature_entry.grid(column=1, row=0, **options)
temperature_entry.focus()

# convert button
convert_button = ttk.Button(frame, text='Convert')
convert_button.grid(column=2, row=0, sticky='W', **options)
convert_button.configure(command=convert_button_clicked)

# result label
result_label = ttk.Label(frame)
result_label.grid(row=1, columnspan=3, **options)Linguagem de código:  Python  ( python )

Por fim, coloque o quadro na janela raiz e execute o mainloop()método:

frame.grid(padx=10, pady=10)
root.mainloop()Linguagem de código:  Python  ( python )

Junte tudo.

import tkinter as tk
from tkinter import ttk
from tkinter.messagebox import showerror

# root window
root = tk.Tk()
root.title('Temperature Converter')
root.geometry('300x70')
root.resizable(False, False)


def fahrenheit_to_celsius(f):
    """ Convert fahrenheit to celsius
    """
    return (f - 32) * 5/9


# frame
frame = ttk.Frame(root)


# field options
options = {'padx': 5, 'pady': 5}

# temperature label
temperature_label = ttk.Label(frame, text='Fahrenheit')
temperature_label.grid(column=0, row=0, sticky='W', **options)

# temperature entry
temperature = tk.StringVar()
temperature_entry = ttk.Entry(frame, textvariable=temperature)
temperature_entry.grid(column=1, row=0, **options)
temperature_entry.focus()

# convert button


def convert_button_clicked():
    """  Handle convert button click event 
    """
    try:
        f = float(temperature.get())
        c = fahrenheit_to_celsius(f)
        result = f'{f} Fahrenheit = {c:.2f} Celsius'
        result_label.config(text=result)
    except ValueError as error:
        showerror(title='Error', message=error)


convert_button = ttk.Button(frame, text='Convert')
convert_button.grid(column=2, row=0, sticky='W', **options)
convert_button.configure(command=convert_button_clicked)

# result label
result_label = ttk.Label(frame)
result_label.grid(row=1, columnspan=3, **options)

# add padding to the frame and show it
frame.grid(padx=10, pady=10)


# start the app
root.mainloop()Linguagem de código:  Python  ( python )

Neste tutorial, você aprendeu como desenvolver um aplicativo Tkinter simples que converte uma temperatura de Fahrenheit para Celsius.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *