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()