1

我想要一个包含颜色模板的标签,而不仅仅是纯色。

我的意思是标签将有一个颜色模板作为其背景,而不仅仅是纯色,例如,交替颜色的对角线图案,就像 MS Office 中的图案填充选项:

在此处输入图像描述

我不希望它成为我想要的图案的图片,因为我希望它在小部件重新调整大小时重新调整大小并使用不同长度和大小的标签。

有没有办法对 tk/tcl 做同样的事情?

4

2 回答 2

1

标签可以有图像或文本字符串。这就对了。但是,您可以根据需要控制图像以响应 Map 或 Unmap(显示或隐藏)等 UI 事件或调整大小。所以我建议您根据需要生成图像并在调整大小时重新生成它们。

于 2013-01-09T13:16:51.857 回答
1

图案需要图像,但标签只能有图像或文本,不能两者兼有。

如果你只是想要一个图案,那么你可以通过复制这样的平铺图像来为它创建一个图像:

# Set foreground and background colours for your tile
set fg "#9999ff"
set bg "#ffffff"

# create tile data (this will give vertical stripes every 4 pixels)
set data "$fg $bg $bg $bg"

# Create the tile image
image create photo tile
tile put [list $data]

# Create the actual image (tile set)
image create photo tileset

# Fill the image with the tile to the desired size
tileset copy tile -to 0 0 200 300

# Display the tiled image in a label
label .l -image tileset
pack .l

如果您想在图案上放置文本,您可以使用画布。您可以在 Tclers Wiki上查看如何在画布中平铺图像(考虑调整画布大小)。

于 2013-01-10T03:03:48.040 回答