from tkinter import *
dosagens_mg_por_kg = {
"paracetamol": 10,
"ibuprofeno": 5,
"amoxicilina": 20,
"dipirona": 15,
"azitromicina": 10,
"cefalexina": 25,
"metoclopramida": 0.1,
"dexametasona": 0.15,
"loratadina": 0.2,
"prednisolona": 1,
"nimesulida": 1.5,
"clorfeniramina": 0.1,
"ambroxol": 1.2,
"sulfametoxazol": 30,
"trimetoprim": 6,
"clavulanato": 6.4,
"ferro": 3,
"omeprazol": 1,
"salbutamol": 0.15,
"ranitidina": 2,
"fluconazol": 6,
"morfina": 0.1,
"cetirizina": 0.25,
"furosemida": 1,
"gentamicina": 5,
"clindamicina": 10,
"albendazol": 10,
"levetiracetam": 20,
"valproato": 20,
"carbamazepina": 10
}
root = Tk()
root.geometry("500x400")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Calculadora de Dosagem")
titulo = Label(text="Calculadora de Dosagem", font=("Arial", 28, "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.05, rely=0.05)
texto_sub1 = Label(text="Nome do medicamento:", font=("Arial", 18, "bold"), bg="#103030", fg="#49e3e3")
texto_sub1.place(relx=0.05, rely=0.25)
var = StringVar()
lista_medicamentos = [med.capitalize() for med in dosagens_mg_por_kg.keys()]
var.set(lista_medicamentos[0])
dropdown = OptionMenu(root, var, *lista_medicamentos)
dropdown.place(relx=0.62, rely=0.25)
dropdown.config(background='#09A3BA', foreground="#FFFFFF",font=("Arial", 15, "bold"))
dropdown["menu"].config(background='#09A3BA', foreground="#FFFFFF",font=("Arial", 15, "bold"))
texto_sub2 = Label(text="Peso do paciente (kg):", font=("Arial", 18, "bold"), bg="#103030", fg="#49e3e3")
texto_sub2.place(relx=0.05, rely=0.45)
Peso_paciente = StringVar()
Peso_paciente_entrada = Entry(textvariable=Peso_paciente, font=("Arial", 15, "bold"),
bg="white", fg="blue", justify='center')
Peso_paciente_entrada.place(relx=0.62, rely=0.46, relwidth=0.33)
resultado = Label(text="", font=("Arial", 16, "bold"), bg="#103030", fg="white")
resultado.place(relx=0.05, rely=0.75)
def calcular_dose():
medicamento = var.get().lower()
try:
peso = float(Peso_paciente.get())
dose_mg_por_kg = dosagens_mg_por_kg.get(medicamento, 0)
dose_total = peso * dose_mg_por_kg
resultado.config(text=f"Dose recomendada: {dose_total:.2f} mg")
except ValueError:
resultado.config(text="❌ Digite um peso válido!")
botao = Button(root, text="Calcular Dose", command=calcular_dose,
font=("Arial", 15, "bold"), bg="#09A3BA", fg="white", padx=10, pady=5)
botao.place(relx=0.35, rely=0.6)
root.mainloop()