嗨,大家好我是在Python中用Tkinter製作一個溫度轉換器,它很好,但現在我得到了這個錯誤。我在這裏看到了這個錯誤的stackoverflow,我發現他們很多,但我不知道,所以我在這裏發佈我的代碼,看看你們是否可以幫助。當我點擊OptionMenu上的一個選項時,程序崩潰。 (om_input專門)TypeError:'NoneType'對象不可調用 - Python Tkinter
以下是錯誤:
Traceback (most recent call last):
TypeError: 'NoneType' object is not callable
它拋出另一個異常:
AttributeError: 'StringVar' object has no attribute '_report_exception'
這裏是我的代碼片段:
This function is supposed to be called everytime the user selects an option in the OptionMenu in the GUI.
def check_entry():
if temperature_input.get() == "Celsius":
celsius_converter(value_entry.get(), temperature_output.get(), output_entry)
elif temperature_input.get() == "Kelvin":
kelvin_converter(value_entry.get(), temperature_output.get(), output_entry)
else:
fahrenheit_converter(value_entry.get(), temperature_output.get(), output_entry)
The vars to be used with the OptionMenus
root = Tk()
temperature_list = ["Celsius", "Kelvin", "Fahrenheit"]
temperature_input = StringVar(root)
temperature_input.set(temperature_list[0])
temperature_output = StringVar(root)
temperature_output.set(temperature_list[0])
output_entry = Entry(root, state=NORMAL)
Initialization of the OptionMenus
om_input = OptionMenu(root, temperature_input, *temperature_list, command=check_entry)
om_output = OptionMenu(root, temperature_output, *temperature_list, command=check_entry)
root.mainloop()
請提供一個完整的工作程序,用最少量的代碼重現問題(請參閱http://stackoverflow.com/help/mcve) –
這是您的整個追溯?我希望在實際的錯誤消息之前看到像'File「myfile.py這樣的行,第9行等。你有沒有削減什麼? – Kevin
那麼,雖然我在一個最小程序上工作,程序似乎工作,現在我正在尋找什麼不同,但我不認爲什麼是。我削減了我認爲對於這個問題非常重要的部分。 – Memphys