我很擅长编写代码并陷入困境。我使用python与tkinter模块。这是一个非常简单的程序,将C转换为F.现在我添加了一个GUI,它似乎工作正常。转换按预期工作。它在正确的框中显示所有信息。现在它当然还需要很多细节,但基础工作正常。然后我添加了“输入”#39;控制功能的关键,程序变得混乱。它现在不断循环,好像我不断点击转换按钮或“输入”。我似乎无法找到创建循环的位置以及如何正确终止循环。我已经尝试过“休息”了。在else语句之后。
import tkinter
window = tkinter.Tk()
value = tkinter.Label(window, text='Please enter C\u00b0:',
bd=2, justify='left')
value.grid(row=1, ipadx=7, ipady=2, sticky='e')
value_print = tkinter.Label(window, text='F\u00b0 is:', bd=2,
justify='left')
value_print.grid(row=2, ipadx=7, ipady=2, sticky='e')
output = tkinter.IntVar()
var = tkinter.IntVar()
c_input = tkinter.Entry(window, textvariable=var, bd=2,
justify='left')
c_input.grid(row=1, column=2, ipadx=7, ipady=2, sticky='w')
def converter(c):
f = (c*9/5+32)
if c < -273.15:
output.set('''Please enter a value over the lowest possible
temperature(-273.15) that physical matter can reach.''')
print(invalid)
else:
output.set(f)
print(f)
def print_con(event=None):
c = var.get()
print(converter(int(c)))
enter = tkinter.Button(window, text='Convert', command=print_con)
enter.grid(row=3, column=2, ipadx=7, ipady=2, sticky='w')
window.bind('<Enter>', print_con)
f_output = tkinter.Message(window, bd=2, textvariable=output,
justify='left')
f_output.grid(row=2, column=2, ipadx=7, ipady=2, sticky='w')
window.mainloop()
答案 0 :(得分:1)
回车键在Tkinter中标记为<Return>
。
所以,只需改变这行代码:
window.bind('<Enter>', print_con)
进入这个:
window.bind('<Return>', print_con)
答案 1 :(得分:0)
<Enter>
。如果您需要返回密钥,则需要使用<Return>
。