Depending on your platform, there may be up to three ways to specify type style.
As a tuple whose first element is the font family,
followed by a size in points, optionally followed by
a string containing one or more of the style
modifiers bold
,
italic
,
underline
, and
overstrike
.
Examples: ("Helvetica",
"16")
for a 16-point Helvetica
regular; ("Times", "24", "bold
italic")
for a 24-point Times bold
italic.
You can create a “font object” by
importing the tkFont
module
and using its Font
class
constructor:
import tkFont
font = tkFont.Font ( option
, ... )
where the options include:
family | The font family name as a string. |
size | The font height as an integer in points.
To get a font
pixels high, use
- . |
weight | "bold" for
boldface, "normal" for
regular weight. |
slant | "italic" for
italic, "roman" for
unslanted. |
underline | 1 for underlined
text, 0 for normal. |
overstrike | 1 for overstruck
text, 0 for normal. |
For example, to get a 36-point bold Helvetica italic face:
helv36 = tkFont.Font ( family="Helvetica", size=36, weight="bold" )
If you are running under the X Window System, you
can use any of the X font names. For example, the
font named
"-*-lucidatypewriter-medium-r-*-*-*-140-*-*-*-*-*-*"
is the author's favorite fixed-width font for
onscreen use. Use the
xfontsel program to help
you select pleasing fonts.
To get a list of all the families of fonts available on your platform, call this function:
tkFont.families()
The return value is a list of strings. Note: You must create your root window before calling this function.
These methods are defined on all
Font
objects:
.actual (
option
=None
)
If you pass no arguments, you get back a dictionary of the font's actual attributes, which may differ from the ones you requested. To get back the value of an attribute, pass its name as an argument.
.cget (
option
)
Returns the value of the given
.option
.configure (
option
, ... )
Use this method to change one or more options
on a font. For example, if you have a
Font
object called
titleFont
, if you call
titleFont.configure ( family="times",
size=18 )
, that font will change to
18pt Times and any widgets that use that font will
change too.
.copy()
Returns a copy of a Font
object.
.measure (
text
)
Pass this method a string, and it will return the number of pixels of width that string will take in the font. Warning: some slanted characters may extend outside this area.
.metrics (
option
)
If you call this method with no arguments, it returns a dictionary of all the font metrics. You can retrieve the value of just one metric by passing its name as an argument. Metrics include:
ascent | Number of pixels of height between the baseline and the top of the highest ascender. |
descent | Number of pixels of height between the baseline and the bottom of the lowest ascender. |
fixed | This value is 0
for a variable-width font and
1 for a monospaced
font. |
linespace | Number of pixels of height total. This is the leading of type set solid in the given font. |