我正在编写一个将摄氏温度转换为华氏温度的GUI,反之亦然。 我需要Celsius的输入框从0.0开始(它确实如此)和Fahrenheit从32.0开始(我不知道该怎么做)。如何设置具有设定值的输入框? 这是我对程序构造函数的代码:
class TempFrame(Frame):
"""FUI for the program to convert between Celsius and Fahrenheit"""
def __init__(self):
"""Sets up the window and widgets"""
self.celciusVar= 0.0
self.fahrenheitVar= 32.0
Frame.__init__(self)
self.master.title("Temperature Conversion")
self.grid()
celsiusLabel = Label(self, text= "Celsius")
celsiusLabel.grid(row = 0, column = 0)
self.celsiusVar= DoubleVar()
celsiusEntry = Entry(self, textvariable = self.celsiusVar)
celsiusEntry.grid(row = 1, column = 0)
fahrenheitLabel = Label(self, text= "Fahrenheit")
fahrenheitLabel.grid(row = 0, column = 1)
self.fahrenheitVar= DoubleVar()
fahrenheitEntry = Entry(self, textvariable= self.fahrenheitVar)
fahrenheitEntry.grid(row = 1, column = 1)
button_1 = Button(self, text= ">>>>", command= self.celToFahr)
button_1.grid(row = 2, column = 0)
button_2 = Button(self, text= "<<<<", command=self.fahrToCel)
button_2.grid(row = 2, column = 1)
答案 0 :(得分:3)
目前,当您稍后执行self.fahrenheitVar = 32.0
时,您只是覆盖self.fahrenheitVar = DoubleVar()
。您也可以删除__init__
中的前两行。
您只需要在set
上使用DoubleVar
方法设置值,
self.fahrenheitVar = DoubleVar()
self.fahrenheitVar.set(32.0)