キャンバスでテキストを表示しよう
前回はCanvasウィジェットを使って円弧を表示しました。
今回はキャンバス上にテキストを表示してみましょう。
Canvasウィジェットでテキストを表示する
Canvasウィジェットでテキストを表示するメソッドは、以下の通りです。
オブジェクト名.create_text(座標, オプション)
座標の意味は、anchorオプションの指定によって異なります。
デフォルトでは、以下のように表示するテキストの中心位置になります。
create_text()のオプション
create_text()の主なオプションは、以下の通りです。
オプション名 | 内容 | |
text | テキストに表示する文字列 | |
font | 使用するフォント *1 | |
fill | 文字の色 *2 | |
anchor | テキストの位置 | |
center | テキストの中心。デフォルト | |
n | テキストの上端 | |
s | テキストの下端 | |
w | テキストの左端 | |
e | テキストの右端 | |
nw | テキストの左上端 | |
ne | テキストの右上端 | |
sw | テキストの左下端 | |
se | テキストの右下端 | |
width | 行の最大長。この長さ以上の文字列は折り返される。デフォルトは0 (折り返しなし) |
*1 指定できるフォントは、tkinter.font.families()で確認できます。
*2 色の指定にはred、green、blueなどのカラー名や先頭に#(シャープ)を付けた16進数が使えます。
Canvasウィジェットにテキストを表示するプログラム
Canvasウィジェットにテキストを表示するプログラムは、以下のようになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
### インポート import tkinter ### キャンバス作成 canvas = tkinter.Canvas(master=None, width=640, height=400) ### キャンバス表示 canvas.pack() ### ガイドライン描画 canvas.create_line(320, 0, 320, 400, dash=(1,1)) canvas.create_line( 0, 200, 640, 200, dash=(1,1)) ### テキスト描画 canvas.create_text(320, 100, text="中心座標") canvas.create_text(320, 200, text="座標右下端", anchor="se", font=("HG丸ゴシックM-PRO",24)) canvas.create_text(320, 200, text="座標左下端", anchor="sw", font=("HG丸ゴシックM-PRO",24), fill="red") canvas.create_text(320, 200, text="座標右上端", anchor="ne", font=("HG丸ゴシックM-PRO",24), fill="lime") canvas.create_text(320, 200, text="座標左上端", anchor="nw", font=("HG丸ゴシックM-PRO",24), fill="blue") canvas.create_text(320, 300, text="折り返しあり", width=40) ### イベントループ canvas.mainloop() |
プログラムを実行すると、以下のような画面が表示されます。