単色だけでなく、色のテンプレートを含むラベルが必要です。
つまり、ラベルの背景には単色だけでなく、たとえば、MS Office のパターン塗りつぶしのオプションのように、交互の色の対角線のパターンなどの色のテンプレートがあるということです。
ウィジェットのサイズが変更され、さまざまな長さとサイズのラベルで動作するようにサイズを変更したいので、必要なパターンの画像にしたくありません。
tk/tcl で同じことを行う方法はありますか?
パターンには画像が必要ですが、ラベルには画像またはテキストのみを含めることができ、両方を含めることはできません。
パターンが必要なだけの場合は、次のようにタイル イメージを複製することで手続き的にイメージを作成できます。
# 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で、 (キャンバスのサイズ変更を考慮して) キャンバスに画像を並べて表示する方法を確認できます。
ラベルには、画像またはテキスト文字列を含めることができます。それだ。ただし、Map や Unmap (表示または非表示) などの UI イベントやサイズ変更に応じて、必要なだけ画像を制御できます。したがって、必要に応じて画像を生成し、サイズ変更時に再生成することをお勧めします。