Python(tkinter005: 小さなラベル)

■小さなラベルの作成。
前回、8×8でラベルを使ってサンプルコードを作ったけど、ラベルサイズをもっと小さくしてピクセルのような扱いができないか試してみた。ピクセルのような扱いができれば、それで模様を作ったりドット絵を作ったりいろいとできそう。

ラベルの設定を見てみると、heightやwidthがあるので、これを小さくする。とりあえずheight=1, width=1で設定すると下のような感じになる。

見た目まだ大きいので、さらに小さく0.1ずつに設定すると、エラーとなった。
 _tkinter.TclError: expected integer but got "0.1"

エラーから、整数値でなければならないよう。1より小さくできないので、別の方法としてfontの設定を見てみる。
これを使って、font=("Arial", 1)のように設定すると、下のような感じになった。

明らかに height=1, width=1 と設定したときより小さくなっている。これも整数値しかできないようなので、 font=("Arial", 1) が最小となりそう。

フォントのサイズをさらに小さくすればラベルも小さくなるかと思い、もう少しフォントの設定について調べると、tkinter.fontで設定する方法もあった。ここで、sizeをマイナスで指定すると、ポイントではなくピクセルとして扱われるとのこと。ピクセルを使えばさらに小さいラベルができるかと思ったけど、変わらなかった。

フォントサイズが1ピクセルの設定で、テキストに"a"を指定してみると、下の拡大図ような表示になった。

点になっているのが"a"のはず。
結局、文字のサイズを小さくしても空白部分がこれ以上小さくなることはなさそう。

よって、font=("Arial", 1) で設定したときが最も小さいラベルになると思う。