Pesquisar neste blogue

terça-feira, 21 de dezembro de 2021

quinta-feira, 2 de dezembro de 2021

Código para criar um Widget em Python

Criação de um GUI em Python utilizando o Tk, para criar um Widget que aceita valores de resistência (R), em ohm e corrente (I), em ampere, para calcular a tensão (U), em volt, utilizando a lei de Ohm.

from tkinter import *
from tkinter import ttk

def calculate(*args):
    try:
        valor_R = float(R.get())
        valor_I = float(I.get())
        tensao.set(float(valor_R * valor_I))
    except Exception as erro:
        print(erro)

root = Tk()
root.title("Tensão na resistência")

mainframe = ttk.Frame(root, padding="3 3 12 12")
mainframe.grid(column=0, row=0, sticky=(N, W, E, S))
root.columnconfigure(0, weight=1)
root.rowconfigure(0, weight=1)

R = StringVar()
I = StringVar()
R_entry = ttk.Entry(mainframe, width=7, textvariable=R)
R_entry.grid(column=2, row=1, sticky=(W, E))
I_entry = ttk.Entry(mainframe, width=7, textvariable=I)
I_entry.grid(column=12, row=1, sticky=(W, E))

tensao = StringVar()
ttk.Label(mainframe, textvariable=tensao).grid(column=3, row=2, sticky=(W, E))

ttk.Button(mainframe, text="Calcular", command=calculate).grid(column=12, row=2, sticky=W)

ttk.Label(mainframe, text="Resistência:").grid(column=1, row=1, sticky=W)
ttk.Label(mainframe, text="ohm").grid(column=3, row=1, sticky=W)

ttk.Label(mainframe, text="Corrente:").grid(column=11, row=1, sticky=W)
ttk.Label(mainframe, text="ampere").grid(column=13, row=1, sticky=W)

ttk.Label(mainframe, text="A tensão vale:").grid(column=2, row=2, sticky=E)
ttk.Label(mainframe, text="volt").grid(column=10, row=2, sticky=W)

for child in mainframe.winfo_children():
    child.grid_configure(padx=5, pady=5)

R_entry.focus()
root.bind("<Return>", calculate)

root.mainloop()





Se quiser explicações sobre matérias que encontre neste blogue, contacte-nos, de preferência por email. Este blogue destina-se à divulgação dos nossos serviços. É apenas uma pequena amostra do que sabemos e podemos fazer. Veja a Lista de Matérias já disponíveis para explicações.