from tkinter import *
from tkinter import ttk
import math
root=Tk()
class appmetrocubico():
def __init__(self):
self.root = root
self.janela()
self.frames_da_janela()
self.widgets_frame1()
self.Menus()
root.mainloop()
def janela(self):
self.root.title("Calcular o metro cúbico ")
self.root.configure(background='#1e3743')
self.root.geometry("500x250")
self.root.resizable(0,0)
def frames_da_janela(self):
self.frame_1 = Frame(self.root, bd=4,
bg='#dfe3ee',
highlightbackground='#759fe6',
highlightthickness=2)
self.frame_1.place(relx=0.02, rely=0.02,
relwidth=0.96, relheight=0.96)
def widgets_frame1(self):
self.abas = ttk.Notebook(self.frame_1)
self.rquadrados = Frame(self.abas)
self.rcilíndricos = Frame(self.abas)
self.rpirâmide = Frame(self.abas)
self.rquadrados.configure(background="#dfe3ee")
self.rcilíndricos.configure(background="#dfe3ee")
self.rpirâmide.configure(background="#dfe3ee")
self.abas.add(self.rquadrados, text="Formatos quadrados e retangulares")
self.abas.add(self.rcilíndricos, text="Formatos cilíndricos")
self.abas.add(self.rpirâmide, text="Formatos pirâmide")
self.abas.place(relx=0, rely=0, relwidth=0.98, relheight=0.98)
# rquadrados
self.lb_altura1 = Label(self.rquadrados,
text="Altura: "
,bg='#dfe3ee', fg='#107db2')
self.lb_altura1.place(relx=0.15, rely=0.1)
self.lb_largura1 = Label(self.rquadrados,
text="Largura: "
, bg='#dfe3ee', fg='#107db2')
self.lb_largura1.place(relx=0.6, rely=0.1)
self.lb_comprimento1 = Label(self.rquadrados,
text="Comprimento: "
, bg='#dfe3ee', fg='#107db2')
self.lb_comprimento1.place(relx=0.35, rely=0.35)
self.altura1 = DoubleVar()
self.altura1_entry = Entry(self.rquadrados,
textvariable=self.altura1,justify='center')
self.altura1_entry.place(relx=0.25, rely=0.1, relwidth=0.15)
self.largura1 = DoubleVar()
self.largura1_entry = Entry(self.rquadrados,
textvariable=self.largura1, justify='center')
self.largura1_entry.place(relx=0.75, rely=0.1, relwidth=0.15)
self.comprimento1 = DoubleVar()
self.comprimento1_entry = Entry(self.rquadrados,
textvariable=self.comprimento1, justify='center')
self.comprimento1_entry.place(relx=0.55, rely=0.35, relwidth=0.15)
self.bt_calcular1 = Button(self.rquadrados, text="Calcular",
bd=2,bg='#107db2', fg='white',
font=('verdana', 12, 'bold'),
command=self.butaoclick1)
self.bt_calcular1.place(relx=0.1, rely=0.6, relwidth=0.2,relheight=0.15)
self.but_limpar1 = Button(self.rquadrados,text="Limpar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=self.limpar1)
self.but_limpar1.place(relx=0.38, rely=0.6, relwidth=0.2, relheight=0.15)
self.but_sair1 = Button(self.rquadrados,text="Sair", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=root.destroy)
self.but_sair1.place(relx=0.65, rely=0.6, relwidth=0.2, relheight=0.15)
self.resultadocubo1 = StringVar()
self.resultado1 = Label(self.rquadrados, textvariable=self.resultadocubo1)
self.resultado1.place(relx=0.55, rely=0.85, relwidth=0.3)
self.lb_resultado1 = Label(self.rquadrados, text="Metros Cúbicos",
bg='#dfe3ee', fg='#107db2')
self.lb_resultado1.place(relx=0.25, rely=0.85)
#Formula cilíndricos
self.raio1 = DoubleVar()
self.lb_raio1 = Label(self.rcilíndricos,
text="Raio: ",
bg='#dfe3ee', fg='#107db2')
self.lb_raio1.place(relx=0.05, rely=0.2)
self.raio1_entry = Entry(self.rcilíndricos,
textvariable=self.raio1,
justify='center')
self.raio1_entry.place(relx=0.2, rely=0.2, relwidth=0.15)
self.altura2 = DoubleVar()
self.lb_altura2= Label(self.rcilíndricos, text="Altura: ",bg='#dfe3ee', fg='#107db2')
self.lb_altura2.place(relx=0.55, rely=0.2)
self.altura2_entry = Entry(self.rcilíndricos,
textvariable=self.altura2,justify='center')
self.altura2_entry.place(relx=0.7, rely=0.2, relwidth=0.15)
# # Butão de Calcular
self.bt_calcular2 = Button(self.rcilíndricos,text="Calcular", bd=2,bg='#107db2',
fg='white',
font=('verdana', 12, 'bold')
,command=self.butaoclick2)
self.bt_calcular2.place(relx=0.1, rely=0.5, relwidth=0.2,relheight=0.15)
self.bt_limpar2 = Button(self.rcilíndricos, text="Limpar", bd=2, bg='#107db2',
fg='white',
font=('verdana', 12, 'bold')
, command=self.limpar2)
self.bt_limpar2.place(relx=0.38, rely=0.5, relwidth=0.2, relheight=0.15)
self.bt_sair2 = Button(self.rcilíndricos, text="Sair", bd=2, bg='#107db2',
fg='white',
font=('verdana', 12, 'bold')
, command=self.root.destroy)
self.bt_sair2.place(relx=0.65, rely=0.5, relwidth=0.2, relheight=0.15)
# Resultado
self.metrocubo2 = StringVar()
self.resultado2 = Label(self.rcilíndricos,
textvariable=self.metrocubo2)
self.resultado2.place(relx=0.5, rely=0.8, relwidth=0.4)
self.lb_resultado2 = Label(self.rcilíndricos,
text="Metros cúbicos:",bg='#dfe3ee', fg='#107db2')
self.lb_resultado2.place(relx=0.25, rely=0.8)
# Formula pirâmide
self.base1 = DoubleVar()
self.lb_base1 = Label(self.rpirâmide,
text="Base1: ",
bg='#dfe3ee', fg='#107db2')
self.lb_base1.place(relx=0.05, rely=0.1)
self.base1_entry = Entry(self.rpirâmide,
textvariable=self.base1,
justify='center')
self.base1_entry.place(relx=0.2, rely=0.1, relwidth=0.15)
self.base2 = DoubleVar()
self.lb_base2 = Label(self.rpirâmide, text="Base2: ", bg='#dfe3ee', fg='#107db2')
self.lb_base2.place(relx=0.55, rely=0.1)
self.base2_entry = Entry(self.rpirâmide,
textvariable=self.base2, justify='center')
self.base2_entry.place(relx=0.7, rely=0.1, relwidth=0.15)
self.altura3 = DoubleVar()
self.lb_altura3 = Label(self.rpirâmide, text="Altura : ", bg='#dfe3ee', fg='#107db2')
self.lb_altura3.place(relx=0.35, rely=0.3)
self.altura3_entry = Entry(self.rpirâmide,
textvariable=self.altura3,
justify='center')
self.altura3_entry.place(relx=0.5, rely=0.3, relwidth=0.15)
# # Butão de Calcular
self.bt_calcular3 = Button(self.rpirâmide, text="Calcular", bd=2, bg='#107db2',
fg='white',
font=('verdana', 12, 'bold')
, command=self.butaoclick3)
self.bt_calcular3.place(relx=0.1, rely=0.5, relwidth=0.2, relheight=0.15)
self.bt_limpar3 = Button(self.rpirâmide, text="Limpar", bd=2, bg='#107db2',
fg='white',
font=('verdana', 12, 'bold')
, command=self.limpar3)
self.bt_limpar3.place(relx=0.38, rely=0.5, relwidth=0.2, relheight=0.15)
self.bt_sair3 = Button(self.rpirâmide, text="Sair", bd=2, bg='#107db2',
fg='white',
font=('verdana', 12, 'bold')
, command=self.root.destroy)
self.bt_sair3.place(relx=0.65, rely=0.5, relwidth=0.2, relheight=0.15)
# Resultado
self.metrocubo3 = StringVar()
self.resultado3 = Label(self.rpirâmide,
textvariable=self.metrocubo3)
self.resultado3.place(relx=0.5, rely=0.8, relwidth=0.4)
self.lb_resultado3 = Label(self.rpirâmide,
text="Metros cúbicos:", bg='#dfe3ee', fg='#107db2')
self.lb_resultado3.place(relx=0.25, rely=0.8)
def butaoclick1(self):
a1 = self.altura1.get()
l1 = self.largura1.get()
c1 = self.comprimento1.get()
metro_cúbico1 = a1*l1*c1
return self.resultadocubo1.set(metro_cúbico1)
def limpar1(self):
self.altura1_entry.delete(0, END)
self.largura1_entry.delete(0, END)
self.comprimento1_entry.delete(0, END)
def limpar2(self):
self.raio1_entry.delete(0, END)
self.altura2_entry.delete(0, END)
def limpar3(self):
self.altura3_entry.delete(0, END)
self.base1_entry.delete(0, END)
self.base2_entry.delete(0, END)
def butaoclick2(self):
r1 = self.raio1.get()
a2 = self.altura2.get()
pi = math.pi
t = math.pow(r1,2)
metro_cúbico2 = a2*t*pi
metro_cúbico2arr = round(metro_cúbico2,3)
return self.metrocubo2.set(metro_cúbico2arr)
def butaoclick3(self):
b1 =self.base1.get()
b2 = self.base2.get()
h3 = self.altura3.get()
Base = b1*b2
f = Base/2
metro_cúbico3 = f * h3
metro_cúbicof = metro_cúbico3/3
metro_cúbicoarr3 = round(metro_cúbicof,3)
return self.metrocubo3.set(metro_cúbicoarr3)
def Quit(self):
self.root.destroy()
def Menus(self):
menubar = Menu(self.root)
self.root.config(menu=menubar)
filemenu = Menu(menubar)
menubar.add_cascade(label="Opções", menu=filemenu)
filemenu.add_command(label="Sair", command=self.Quit)
appmetrocubico()