tk窗口多个输入框每个框输入一个跳转到下一个
时间: 2023-12-03 07:44:19 浏览: 101
vue实现输入框自动跳转功能
可以使用tkinter的bind方法,来绑定事件,当用户在某个输入框输入完成后,自动跳转到下一个输入框。以下是一个示例代码:
```python
import tkinter as tk
class InputWindow(tk.Frame):
def __init__(self, master=None, labels=[], inputs=[], **kwargs):
super().__init__(master, **kwargs)
self.labels = labels
self.inputs = inputs
self.current_input = None
self.create_widgets()
def create_widgets(self):
for i, label_text in enumerate(self.labels):
label = tk.Label(self, text=label_text)
label.grid(row=i, column=0, sticky='w')
input_var = tk.StringVar()
input_box = tk.Entry(self, textvariable=input_var)
input_box.grid(row=i, column=1, padx=5, pady=5)
self.inputs.append(input_var)
input_box.bind("<Return>", self.focus_next_input)
def focus_next_input(self, event):
if self.current_input is None:
self.current_input = 0
else:
self.current_input += 1
if self.current_input < len(self.inputs):
self.inputs[self.current_input].focus_set()
else:
self.current_input = None
if __name__ == '__main__':
root = tk.Tk()
root.geometry('300x200')
labels = ['Name:', 'Age:', 'Gender:', 'Email:']
inputs = []
input_window = InputWindow(root, labels=labels, inputs=inputs)
input_window.pack(expand=True, fill='both')
root.mainloop()
```
在这个示例中,我们创建了一个`InputWindow`类,用于显示多个输入框和标签。我们使用`bind`方法,将`<Return>`事件绑定到每个输入框上,当用户在输入框中按下回车键时,会自动跳转到下一个输入框。
阅读全文