mieszkania5/Gui.py

79 lines
2.2 KiB
Python

# Import Module
from tkinter import *
import pickle
import pandas as pd
import numpy as np
#Styl
tlo = "grey"
guziki = "#60839D"
# Create Object
root = Tk()
root.geometry('1000x600')
root.configure(bg=tlo)
def update():
dane = [address1.__getattribute__,address2.__getattribute__,address3.__getattribute__]
return None
#Wczytanie modelu
model = pickle.load(open('mieszkania_model', 'rb'))
def cena_mieszkania(pokoje, metraz, rok):
mieszkanie = pd.DataFrame([[pokoje, metraz, rok]], columns=['pokoje', 'metraz', 'rok'])
cena = model.predict(mieszkanie).item()
return np.round(cena, 2)
# Funkcja tworzy nowe okno ktore wyswietla predykcje ceny
def Oblicz():
newWindow = Toplevel(root)
newWindow.geometry('600x300')
newWindow.title("wynik")
newWindow.config(bg=tlo)
# okno
T4 = Label(newWindow,bg=tlo,fg="white",height=3,width=37, text = "Potencjalna cena mieszkania:", bd = 0, relief=RAISED).place(x = 100, y= 50)
address1 = Label(newWindow,width=37,height=3,bg=guziki,text = wyznacz_cene()).place(x = 100, y= 100)
update()
return None
def reset():
return None
Button(root,text="Oblicz",font="arial 20 bold",command=Oblicz ).place(x= 800, y=500)
#Pola do wpisywania
# metraż
address1 = Text(root,width=37,height=3,bg=guziki)
address1.place(x = 100, y= 100)
T = Label(root,bg=tlo,fg="white",height=3,width=37, text = "Liczba Pokoi", bd = 0, relief=RAISED).place(x = 100, y= 50)
# liczba pokoi
address2 = Text(root,width=37,height=3,bg=guziki)
address2.place(x = 100, y= 200)
T2 = Label(root,bg=tlo,fg="white",height=3,width=37, text = "Metraż", bd = 0, relief=RAISED).place(x = 100, y= 150)
# Rok budowy
address3 = Text(root,width=37,height=3,bg=guziki)
address3.place(x = 100, y= 300)
T3 = Label(root,bg=tlo,fg="white",height=3,width=37, text = "Rok Budowy", bd = 0, relief=RAISED).place(x = 100, y= 250)
Output = Text(root, height = 5,
width = 25,
bg = tlo)
def wyznacz_cene():
pokoje = address1.get("1.0",END)
metraz = address2.get("1.0",END)
rok = address3.get("1.0",END)
return cena_mieszkania(pokoje,metraz,rok)
# Execute Tkinter
root.mainloop()