Python 如何将数据从一个Tkinter文本小部件复制到另一个Tkinter文本小部件?
如何将数据从一个文本小部件添加到另一个文本小部件Python 如何将数据从一个Tkinter文本小部件复制到另一个Tkinter文本小部件?,python,tkinter,Python,Tkinter,如何将数据从一个文本小部件添加到另一个文本小部件 例如,我试图将text1中的数据插入text,但它不起作用。您试图在另一个text小部件的末尾插入text引用(没有多大意义),但实际上您要做的是将文本小部件的内容复制到另一个小部件: from Tkinter import * root = Tk() root.title("Whois Tool") text = Text() text1 = Text() text1.config(width=15, height=1) text1.pa
例如,我试图将
text1
中的数据插入text
,但它不起作用。您试图在另一个text
小部件的末尾插入text
引用(没有多大意义),但实际上您要做的是将文本
小部件的内容复制到另一个小部件:
from Tkinter import *
root = Tk()
root.title("Whois Tool")
text = Text()
text1 = Text()
text1.config(width=15, height=1)
text1.pack()
def button1():
text.insert(END, text1)
b = Button(root, text="Enter", width=10, height=2, command=button1)
b.pack()
scrollbar = Scrollbar(root)
scrollbar.pack(side=RIGHT, fill=Y)
text.config(width=60, height=15)
text.pack(side=LEFT, fill=Y)
scrollbar.config(command=text.yview)
text.config(yscrollcommand=scrollbar.set)
root.mainloop()
在我看来,这不是一种直观的方式<代码>“1.0”表示行1
,列0
。是,行为1索引,列为0索引
请注意,您可能不想使用Tkinter import*中的
导入整个Tkinter
包。这可能会导致今后的混乱。我建议使用:
def button1():
text.insert(INSERT, text1.get("1.0", "end-1c"))
另一个选择是:
import Tkinter
text = Tkinter.Text()
您可以选择自己选择的短名称(如“tk”
)。无论如何,您应该坚持使用库的一种导入机制。我收到一个错误:text.insert(Tkinter.insert,text1.get(“1.0”,Tkinter.END))name错误:未定义全局名称“Tkinter”。是的,我在测试时导入的方式与您不同。我已经修正了答案,但是你这样做可能会导致问题。而text.get(“1.0”)只会获取第一个字母,就像我输入“hello”并单击按钮,它只会打印出第一个字母“h”:(你应该养成总是使用“end-1c”
而不是“end”的习惯
或Tkinter.END
或END
(取决于您的操作方式…)。原因是Tkinter总是添加一个尾随的换行符。如果您想准确获取用户输入的内容,则不需要该尾随的换行符。
import Tkinter as tk
text = tk.Text()