如何将数据从一个Tkinter文本小部件复制到另一个?

5 投票
1 回答
14412 浏览
提问于 2025-04-15 19:14
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()

我该如何把一个文本框里的数据添加到另一个文本框里呢?

比如说,我想把 text1 里的内容插入到 text 里,但现在不太成功。

1 个回答

5

你想把一个 Text 组件的引用放到另一个 Text 组件的末尾(这样做其实没什么意义),但你真正想要的是把一个 Text 组件里的内容复制到另一个组件里:

def button1():
    text.insert(INSERT, text1.get("1.0", "end-1c"))

我觉得这样做不是很直观。 "1.0" 的意思是第 1 行,第 0 列。没错,行是从1开始算的,而列是从0开始算的。


注意,你可能不想用 from Tkinter import * 这种方式导入整个 Tkinter 包。这样做可能会在后面造成混淆。我建议你使用:

import Tkinter
text = Tkinter.Text()

另一种选择是:

import Tkinter as tk
text = tk.Text()

你可以选择一个简短的名字(比如 "tk")来代替。无论如何,你应该为这个库坚持使用一种导入方式。

撰写回答