Tkinter Bold Text

Guilherme Polo ggpolo at gmail.com
Thu Sep 18 13:15:48 EDT 2008


On Thu, Sep 18, 2008 at 1:06 PM, April Lekin <lekin2 at llnl.gov> wrote:
> Is there any way to highlight, bold or change the color of one word in a
> variable to be displayed on a Tkinter GUI?

Yes.

>
> Like:
>
> material = "Plastic"
> introVal = "This report describes the construction of the %s." % (material)
>

You could separate them in two labels (if you are using labels), or
apply a different tag if you are using a Text widget.

> this is what I want:
> This report describes the construction of the Plastic.
> Plastic is Bold or Blue or Green
>

Changing the color is easier, you only change the foreground option.
Changing to bold may not work for you, because depending on your Tk
version and platform it will already be bold, so you won't notice
anything. There is also a "catch" in changing text to bold, if you
only set the text option of your Label to "-weight bold" it will
probably get you a bold text, but with a different font than the one
being used by other Labels.

Now, something you could use as a base:

import Tkinter
import tkFont

root = Tkinter.Tk()

otherpart = Tkinter.Label(text="some text here")
special = Tkinter.Label(text="special", foreground='blue')
otherpart.pack(side='left')
special.pack(side='left')

f = tkFont.Font(font=otherpart['font'])
f['weight'] = 'bold'
f['underline'] = True

special['font'] = f.name

root.mainloop()


> Thanks
>
> --
> http://mail.python.org/mailman/listinfo/python-list
>



-- 
-- Guilherme H. Polo Goncalves



More information about the Python-list mailing list