如何让用户在输入框中按回车键

2024-04-24 21:22:34 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的程序:

enter image description here

我有麻烦,让用户按回车键,以便程序实际上可以触发自己。我对tkinter很陌生!你知道吗

下面是组合框的代码:

self.measurements = StringVar()
self.Combobox_Length_Left = ttk.Combobox(self.length_frame, textvariable = self.measurements, values = ('mm', 'cm', 'inches', 'feet', 'yards', 'meter', 'km', 'miles'), width = 10)
self.Combobox_Length_Left.grid(row = 2, column = 0, padx = 5, pady = 5, sticky = E)

self.measurements1 = StringVar()
self.Combobox_Length_Right = ttk.Combobox(self.length_frame, textvariable = self.measurements1, value = ('mm', 'cm', 'inches', 'feet', 'yards', 'meter', 'km', 'miles'), width = 10)
self.Combobox_Length_Right.grid(row = 2, column = 2, padx = 5, pady = 5, sticky = E)

以下是输入框的代码:

self.Text_Length_Left = IntVar()
self.Entry_Length_Left = ttk.Entry(self.length_frame, textvariable = self.Text_Length_Left,width = 13)
self.Entry_Length_Left.grid(row = 3, column = 0, padx = 5, pady = 5)

self.Text_Length_Right = IntVar()
self.Entry_Length_Right = ttk.Entry(self.length_frame, textvariable = self.Text_Length_Right,width = 13)
self.Entry_Length_Right.grid(row = 3, column = 2, padx = 5, pady = 5)

将电表转换为……的代码:

as_meter = dict(mm=0.001, cm=0.01, inches=0.0254,feet=0.3048, yards=0.9144, meter=1.0,km=1000.0, miles=1609.344)
def update_length(self, *args):
    self.measurements.trace('w', self.update_length)
    self.measurements1.trace('w', self.update_length)
    self.Text_Length_Left.trace('w', self.update_length)
    try:
        v = float(self.Text_Length_Left.get())
    except ValueError:
        v = 0.0
        self.Text_Length_Left.set(str(v))
    m = v * self.as_meter[self.measurements.get()]
    r = m/self.as_meter[self.measurements1.get()]
    self.Text_Length_Right.set("{:.3e}".format(r))

我想能够按回车键,程序将做它的魔术,并为它显示在另一个输入框计算,也与其他输入框相同的程序。你知道吗

谢谢你的帮助!非常感谢。你知道吗


Tags: textself程序rightwidthleftframelength
1条回答
网友
1楼 · 发布于 2024-04-24 21:22:34

您正在寻找^{}回车键(called ^{}由tkinter指定):

self.Combobox_Length_Right.bind("<Return>",self. update_length)
self.Combobox_Length_Right.bind("<Return>",self. update_length)

相关问题 更多 >