Tkinter - 绑定 ctrl + enter 以在文本框中换行(文本)

Tkinter - bind crtl + enter to make a new line in textbox (Text)

我已经做到了,当有人按下 Enter 时,文本框中的文本将被删除,数据将被转移到另一个方法,但是,我还想绑定 ctrl+Enter 以在文本框中创建一个新行,比如Zoom 的聊天和其他一些平台的聊天,但是,我不知道如何通过 Tkinter 这样做,以及如何获取数据,并用 Enter 在文本框中创建的“\n”替换新行,因为看起来每当我将其作为字符串时,文本框中的新行实际上并不是“\n”。

要绑定 control-Enter 以插入文字换行符并且不执行默认操作,您可以像下面的示例那样进行操作。注意事件是<Control-Return>,函数returns字符串“break”防止其他处理程序处理事件。


def insert_newline(event):
    event.widget.insert("insert", "\n")
    return "break"

text = tk.Text(...)
text.bind("<Control-Return>", insert_newline)