如何从 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()
我有一个简单的 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()