Python Tkinter ScrolledText

时间:2014-06-08 11:19:57

标签: python tkinter

我正在尝试创建一个Tkinter输入框,但需要的空间不仅仅是一行。似乎

self.scroll = ScrolledText.ScrolledText(self.tk).pack()

是目前最好的方式,但我不知道如何从self.scroll获取输入的文本并将其用于其他内容,也没有明确的文档。有谁知道吗?

2 个答案:

答案 0 :(得分:6)

错误:

self.scroll = ScrolledText.ScrolledText(self.tk).pack()

这样您就可以将pack()结果分配给self.scroll(不是ScrolledText) 并且pack()始终返回None

始终:

self.scroll = ScrolledText.ScrolledText(self.tk)
self.scroll.pack()

现在查看标准Text Widget文档如何获取/设置文本。

from tkinter import *
import tkinter.scrolledtext as ScrolledText

master = Tk()

st = ScrolledText.ScrolledText(master)
st.pack()

st.insert(INSERT, "Some text")
st.insert(END, " in ScrolledText")

print( st.get(1.0, END) )

master.mainloop()

答案 1 :(得分:1)

您可以通过调整 height 参数来获得多行:

sText = ScrolledText.ScrolledText(root, height=15)
sText.pack()

使用以下内容获取内容:

words = sText.get(1.0,END)

希望有所帮助!