[Tkinter-discuss] more control over truncating long strings in
Labels?
Michael Lange
klappnase at web.de
Wed Apr 27 22:37:02 CEST 2005
On Wed, 27 Apr 2005 11:33:49 -0700
"Russell E. Owen" <rowen at cesmail.net> wrote:
> I'd was wondering if there was some fairly easy way to display text in a
> Label such that it is is anchored on the west (short strings are against
> the left edge), but too-long strings are truncated on the left. This
> would be useful for displaying very long path names. It might be even
> nicer to truncate the text in the middle, replacing the excess text with
> ..., but truncating on the left would be fine.
>
> I fear the only way is to use font metrics (using a tkFont object from
> the tkFont module) and iteratively try to figure out what length of
> string will fit. If so, it sounds messy. Hope I'm missing something.
>
> -- Russell
>
I've done something like that by simply checking the length of the string, like this:
label = Label(parent, width=40, anchor='w')
if len(labeltext) > 36:
labeltext = '...%s' % labeltext[-33:]
label.configure(text=labeltext)
Maybe it's not perfect, but for me it worked fine.
Best regards
Michael
More information about the Tkinter-discuss
mailing list