Tkinter文本控件:按<Return>键跳到下一行

3 投票
1 回答
1664 浏览
提问于 2025-04-18 11:29

我正在用tkinter制作一个聊天程序,想要让文本框在按下回车键时执行一个函数,代码是这样的:

self.msg.bind('<Return>', self.chatReturn)

def chatReturn(self, evt):          
      self.chat.config(state = NORMAL)
      self.chat.insert(END, self.msg.get(1.0, END))
      self.chat.config(state = DISABLED)
      self.msg.delete(1.0, END)

但是在调用chatReturn()之后,按下“回车”键时光标却跳到了第二行...

我可以让“回车”键不再跳到下一行吗?

1 个回答

7

返回字符串 break 会阻止 Tkinter 将事件传递给其他处理程序。

def chatReturn(self, evt):          
    self.chat.config(state = NORMAL)
    self.chat.insert(END, self.msg.get(1.0, END))
    self.chat.config(state = DISABLED)
    self.msg.delete(1.0, END)
    return 'break' # <---------

撰写回答