You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Tkinter中清空输入框并将回车键绑定到按钮

解决两个Tkinter功能问题:清空输入框与回车键绑定

下面是修改后能实现你需求的完整代码:

import tkinter as Tk
from tkinter import *

root = Tk()
root.geometry("300x400")
root.title(" Convert Numbers ")
 
def Take_input(event=None):
    INPUT = inputtxt.get("1.0", "end-1c")

    numbers = INPUT.replace(") ", "").replace("(", "").replace("-", "")

    # Convert the numbers to strings.
    numbers = numbers.split()

    # Join the numbers with commas.
    converted_numbers = ", ".join(numbers)

    num_list = converted_numbers.split(", ")
    num_set = set(num_list)
    output = ', '.join(num_set)    

    Output.delete('1.0', END)
    Output.insert(END, output)
    root.clipboard_clear()
    root.clipboard_append(output)
    # 清空输入框
    inputtxt.delete("1.0", END)

     
l = Label(text = "Paste from FastPeople.com Here:")
inputtxt = Text(root, height = 10,
                width = 25,
                bg = "light yellow")
 
Output = Text(root, height = 10,
              width = 25,
              bg = "light cyan")
 
Display = Button(root, height = 2,
                 width = 20,
                 text ="Click here to convert.\n Copy from below.",
                 command = lambda:Take_input())

# 绑定回车键到转换功能
root.bind('<Return>', Take_input)

l.pack()
inputtxt.pack()
Display.pack()
Output.pack()
 
mainloop()

问题1:点击按钮后自动清空输入框

Text组件的delete方法需要指定删除范围,你之前的写法缺少必要参数。正确写法是inputtxt.delete("1.0", END):

  • "1.0"代表文本框的起始位置(第1行第0列)
  • END代表文本框的末尾位置
    把这行代码加到Take_input函数末尾,就能在转换完成后自动清空输入框。

问题2:将回车键绑定到按钮功能

你之前的绑定写法存在两个问题:

  1. 绑定对象错误:应该把回车键绑定到主窗口root或输入框inputtxt,而非按钮本身
  2. 函数调用错误:lambda:Take_input没有执行函数,要么写成lambda e:Take_input(),要么直接绑定Take_input(因为函数已经定义了event=None的兼容参数)

这里用root.bind('<Return>', Take_input),意味着无论焦点在哪个组件,按下回车键都会触发转换;如果只想在输入框内按回车触发,可改成inputtxt.bind('<Return>', Take_input)。

内容的提问来源于stack exchange,提问作者TheCarloJ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 07:47:26