bmi.py

mail@pastecode.io avatar
unknown
plain_text
a year ago
2.7 kB
1
Indexable
Never
import customtkinter
from tkinter import *
from tkinter import messagebox
  

app= customtkinter.CTk()
app.title('BMI Calculator')
app.geometry('300x350')
app.configure(bg='#000')

font1 = ('Arial',30,'bold')
font2 = ('Arial',18,'bold')
font3 = ('Arial',25,'bold')



def calculate_bmi():
    try:
        height = float(height_entry.get())
        weight = float(weight_entry.get())
        if variable2.get() == "ft":
            height *= 30.48
        if variable1.get() == "ibs":
            weight *= 0.453592
        bmi = weight / ((height/100) ** 2)
        result_label.configure(text="Your BMI is: {:.1f}".format(bmi))
    except ValueError:
        messagebox.showerror('Error','Enter a valid number!')
    except ZeroDivisionError:
        messagebox.showerror('Error','Height cannot be 0!')
def open_bmi_calculator():
    app = customtkinter.CTk()
    app.title('BMI Calculator')
    app.geometry('300x350')
    app.configure(bg='#000')

title_label= customtkinter.CTkLabel(app,font=font1,text='bmi Calculator',text_color='#fff',bg_color='#000')
title_label.place(x=20,y=20)

weight_label= customtkinter.CTkLabel(app,font=font2,text='Weight',text_color='#fff',bg_color='#000')
weight_label.place(x=20,y=80)

height_label=customtkinter.CTkLabel(app,font=font2,text='Height',text_color='#fff',bg_color='#000')
height_label.place(x=20,y=150)

weight_entry=customtkinter.CTkEntry(app,font=font2,text_color='#000',bg_color='#000')
weight_entry.place(x=20,y=110)

height_entry= customtkinter.CTkEntry(app,font=font2,text_color='#000',bg_color='#000')
height_entry.place(x=20,y=190)

weight_options =  ['kg','ibs']
height_options =  ['cm','ft']
variable1 = StringVar()
variable2 = StringVar()

weight_option = customtkinter.CTkComboBox(app,font=font2,text_color='#000',fg_color='#fff',dropdown_hover_color='#06911f',values=weight_options,variable=variable1,width=80)
weight_option.place(x=180,y=110)
weight_option.set('kg')


height_option = customtkinter.CTkComboBox(app,font=font2,text_color='#000',fg_color='#fff',dropdown_hover_color='#06911f',values=height_options,variable=variable2,width=80)
height_option.place(x=180,y=180)
height_option.set('cm')

calculate_button = customtkinter.CTkButton(app,command=calculate_bmi,font=font2,text_color='#fff',text='Calculate BMI',fg_color='#06911f',hover_color='#06911f',bg_color='#000',cursor="hand2",corner_radius=5,width=200)
calculate_button.place(x=50,y=230)

result_label = customtkinter.CTkLabel(app,text='',font=font3,text_color='#fff',bg_color='#000')
result_label.place(x=30,y=280)




if __name__ == "__main__":
    root = Tk()
app.mainloop()