Scrolled Text : Text « GUI Tk « Python






Scrolled Text

Scrolled Text
 
from Tkinter import * 

class ScrolledText(Frame):

    def __init__(self, parent=None, text='', file=None):
        Frame.__init__(self, parent)
        self.pack(expand=YES, fill=BOTH)                 
        self.makewidgets()
        self.settext(text, file)

    def makewidgets(self):
        sbar = Scrollbar(self)
        text = Text(self, relief=SUNKEN)
        sbar.config(command=text.yview)               
        text.config(yscrollcommand=sbar.set)           
        sbar.pack(side=RIGHT, fill=Y)                 
        text.pack(side=LEFT, expand=YES, fill=BOTH)  
        self.text = text

    def settext(self, text='', file=None):
        if file: 
            text = open(file, 'r').read()
        self.text.delete('1.0', END)                 
        self.text.insert('1.0', text)               
        self.text.mark_set(INSERT, '1.0')          
        self.text.focus()                           

    def gettext(self):                             
        return self.text.get('1.0', END+'-1c')      
 
if __name__ == '__main__':
    root = Tk()
    try:
        st = ScrolledText(file=sys.argv[1])            
    except IndexError:
        st = ScrolledText(text='Words\ngo here')      
    def show(event): print repr(st.gettext())          
    root.bind('<Key-Escape>', show)                  
    root.mainloop()



           
         
  








Related examples in the same category

1.Draw textDraw text
2.Draw text with fontDraw text with font
3.Change color for tagsChange color for tags
4.Change font for TextChange font for Text
5.Add double click action to a TextAdd double click action to a Text
6.Insert String to a TextInsert String to a Text
7.Text properties: expand and fillText properties: expand and fill
8.Text with ScrollBarText with ScrollBar
9.Show a file in a text widget
10.Search string in TextSearch string in Text