如何从 Jupyter 笔记本中的 Tkinter 文本小部件获取文本?

How to get text from Tkinter Text widget in Jupyter notebook?

我有一个简单的 GUI 代码,使用 tkinter in Jupyter:

from tkinter import *

root = Tk()
text = Text(root, width = 40, height = 15)
text.pack()
root.mainloop()

如何获取用户输入的文本?
如果我将 text.get('1.0', 'end') 添加到该代码的末尾,它不起作用,而且当我将 text.get('1.0', 'end') 添加到另一个单元格时它不会开始执行,直到我关闭 root window 然后它给出了一个错误。
像这样:

In[1]: from tkinter import *
       root = Tk()
       text = Text(root, width = 40, height = 15)
       text.pack()
       root.mainloop()
In[2]: text.get('1.0', 'end')

In[2] 直到我关闭 Tk() window 才开始执行,并且在关闭 window 并启动 运行 In[2] 之后它给出了这个错误:

TclError: invalid command name ".!text"

您无法与 ipython 互动中的 tkinter mainloop 互动。
如果添加获取文本按钮,按下它将检索文本小部件内容:

像这样:

import tkinter as tk
root = tk.Tk()
text = tk.Text(root, width=40, height = 15)
text.pack()
tk.Button(root, text='get text', command=lambda: print(text.get('1.0', tk.END))).pack()
root.mainloop()