ttk_image(n) Tk Themed Widget ttk_image(n)


ttk_image - Define an element based on an image

ttk::style element create name image imageSpec ?options?


The image element factory creates a new element in the current theme whose visual appearance is determined by Tk images. imageSpec is a list of one or more elements. The first element is the default image name. The rest of the list is a sequence of statespec / value pairs specifying other images to use when the element is in a particular state or combination of states.

Valid options are:

padding is a list of up to four integers, specifying the left, top, right, and bottom borders, respectively. See IMAGE STRETCHING, below.
Specifies a minimum height for the element. If less than zero, the base image's height is used as a default.
Specifies the element's interior padding. Defaults to -border if not specified.
Specifies how the image is placed within the final parcel. spec contains zero or more characters “n”, “s”, “w”, or “e”.
Specifies a minimum width for the element. If less than zero, the base image's width is used as a default.

If the element's allocated parcel is larger than the image, the image will be placed in the parcel based on the -sticky option. If the image needs to stretch horizontally (i.e., -sticky ew) or vertically (-sticky ns), subregions of the image are replicated to fill the parcel based on the -border option. The -border divides the image into 9 regions: four fixed corners, top and left edges (which may be tiled horizontally), left and right edges (which may be tiled vertically), and the central area (which may be tiled in both directions).

set img1 [image create photo -file button.png]
set img2 [image create photo -file button-pressed.png]
set img3 [image create photo -file button-active.png]
style element create Button.button image \
    [list $img1  pressed $img2  active $img3] \
    -border {2 4} -sticky we

ttk::intro(n), ttk::style(n), ttk_vsapi(n), image(n), photo(n)

style, theme, appearance, pixmap theme, image

8.5 Tk