我正在尝试创建一个Tkinter输入框,但需要的空间不仅仅是一行。似乎
self.scroll = ScrolledText.ScrolledText(self.tk).pack()
是目前最好的方式,但我不知道如何从self.scroll获取输入的文本并将其用于其他内容,也没有明确的文档。有谁知道吗?
答案 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)
希望有所帮助!