2010-02-13 81 views
4
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() 

如何将文本小部件的数据添加到其他文本小部件?如何将数据从一个Tkinter文本小部件复制到另一个?

例如,我试图将text1中的数据插入到text,但它不起作用。

回答

4

您正在尝试插入另一Text部件的末尾Text引用(没有多大意义),但你真正想要做的是一个Text控件的内容复制到另一个:

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

在我看来,这不是一种直观的方式。 "1.0"表示行1,栏0。是的,这些行是1索引的,列是0索引的。


注意,你可能不希望导入整个Tkinter包,使用from Tkinter import *。这可能会导致混乱。我会建议使用:

import Tkinter 
text = Tkinter.Text() 

另一种选择是:

import Tkinter as tk 
text = tk.Text() 

你可以选择一个较短的名称(如"tk")您所选择的。无论如何,你应该坚持一个图书馆的导入机制。

+0

我得到一个错误: text.insert(Tkinter.INSERT,text1.get( “1.0”,Tkinter.END)) NameError:全局名称 '的Tkinter' 没有定义 – sourD 2010-02-13 16:00:21

+0

呀,我做了不同的进口然后你在测试。我已经解决了这个问题,但是你这样做会导致问题。 – 2010-02-13 16:03:05

+0

和text.get(“1.0”)只能得到第一个字母,就像我把“你好”并点击按钮它只会打印出第一个字母是“h”:( – sourD 2010-02-13 16:07:22

相关问题