Line 56 in the code temperatureA = watertemperature.get() does not retrieve the watertemperature from the dropdown menu.
When I input a value in place of "watertempterature.get()" ie temperatureA = "40" the code that follows gives the expected answer.
Why does the code not retrieve the value as expected?
import tkinter
from tkinter import messagebox, ttk
from tkinter import ttk # set root root = tkinter.Tk()
root = tkinter.Tk()
root.geometry("270x150")
a = tkinter.Label(root, text="Technology")
a.grid(row=1, column=1, columnspan=2, padx=10, pady=2,
sticky='w')
# grid
X1 = ["18.3", "4.7", "15.9", "5.5", "50"]
X2 = ["74", "5.8", "21.1", "6.56", "50"]
X3 = ["28.7", "7.5", "29.3", "8.5", "50"]
X4 = ["41", "9.4", "23", "10.3", "40"]
X5 = ["44.7", "11.8", "45.2", "13.4", "50"]
X6 = ["78", "11.8", "48.7", "11.9", "35"]
units = [X1 + X2 + X3 + X4 + X5 + X6]
type = ["Heat Pumps", "Heat Interface Units", "District Heat Networks", "photovotaic panels"]
watertemp = [["35", "40", "45", "50", "55", "60", "65"], ["44", "22", "14", "75"], ["12", "28", "15"], ["25",
"42",
"91"]]
techtype = ttk.Combobox(root, width=37, value=(type))
techtype.grid(row=3, column=1, columnspan=2, padx=10, pady=2, sticky='w')
def callback(eventObject):
abc = eventObject.widget.get()
water = techtype.get()
index = type.index(water)
watertemperature.config(values=watertemp[index])
temperatureA = watertemperature.get()
print(temperatureA)
# Find value from index location
temperature = [item[4] for item in units]
# Find value index
degreesindex = [i for i in range(len(temperature)) if temperature[i] == temperatureA]
# Creates list from temperature
res_list = [units[i] for i in degreesindex]
# Find the heating load
duty = [item[0] for item in res_list]
print(duty)
watertemperature = ttk.Combobox(root, width=37, value=watertemp)
watertemperature.grid(row=4, column=1, columnspan=2, padx=10, pady=2, sticky='w')
watertemperature.bind('<Button-1>', callback)
root.mainloop()