Hi All,

I am new to Python and the list so I hope  I am posting this correctly...

I am working on a way to have text automatically formated in a Tkiniter Text widget and would like some input on my code. Currently I am using Python 2.5 because the server I use has that installed. Tkinter is tk8.4.

Most of the time when I type red, blue, or green the code works as expected. When I copy paste text into the widget the last line is parsed with part of the previous lines
So I guess the problem is in the "looping"?

Here is my code:
from Tkinter import *
root = Tk()
def get_position(event):
   start = 1.0
while 1: pos = Tbox.search("red",END,backwards=TRUE)
       if not pos:
           break
       red = pos + "-1c"
       Tbox.tag_add("red", pos, float(pos)+.03)
       Tbox.tag_config("red", foreground="red")
pos = Tbox.search("blue",END,backwards=TRUE)
       if not pos:
           break
       blue = pos + "-1c"
       Tbox.tag_add("blue", pos, float(pos)+.04)
       Tbox.tag_config("blue", foreground="blue")

       pos = Tbox.search("green",END,backwards=TRUE)
       if not pos:
           break
       green = pos + "-1c"
       Tbox.tag_add("green", pos, float(pos)+.05)
       Tbox.tag_config("green", foreground="green")
       break

Tbox = Text(root,width=40, height=15, wrap=CHAR)
Tbox.grid(column=0, row=0, sticky=(N+W+E+S))
root.grid_columnconfigure(0, weight=1)
root.grid_rowconfigure(0, weight=1)
Tbox.bind("<KeyRelease>", get_position)
Tbox.focus()
root.mainloop()

Thank you,
Dave
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to