2014-06-08 115 views
3

我試圖做一個Tkinter的輸入框,但需要更多的空間,而不僅僅是一條線。看來,Python Tkinter ScrolledText

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

是最好看的方式做到這一點,現在,但我不知道如何從self.scroll獲得輸入的文本,並用它別的東西,無論是那裏有上沒有明確的文件。有人知道嗎?

回答

5

錯誤:

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

您可以通過調整高度參數有複式線:

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

使用獲取內容:

words = sText.get(1.0,END) 

希望幫助!