我想要一个包含颜色模板的标签,而不仅仅是纯色。
我的意思是标签的背景是颜色的模板,而不仅仅是纯色,例如,交替颜色的对角线图案,如MS Office中图案填充的选项:
我不希望它是我想要的模式的图片,因为我希望它重新调整大小,因为小部件重新调整大小并使用不同长度和大小的标签。
有没有办法用tk / tcl做同样的事情?
答案 0 :(得分:1)
标签可以包含图片或文字字符串。这就对了。但是,您可以控制图像以响应UI事件,例如Map或Unmap(显示或隐藏)或调整大小。因此,我建议您根据需要生成图像,并在调整大小时重新生成它们。
答案 1 :(得分: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
如果要在模式上使用文本,可以使用画布。 您可以在the Tclers Wiki上看到如何在画布中平铺图像(将画布调整大小)。