キャンバスで直線を表示しよう
前回はCanvasウィジェットを使って画面を表示しました。
今回はキャンバス上に直線を表示してみましょう。
Canvasウィジェットで直線を表示する
Canvasウィジェットで直線を表示するメソッドは、以下の通りです。
オブジェクト名.create_line(座標, オプション)
座標には表示する直線の始点(X、Y)と終点(X、Y)を指定します。
また、座標を3つ以上指定して、直線をつなげることもできます。
create_line()のオプション
create_line()の主なオプションは、以下の通りです。
オプション名 | 内容 |
width | 線の太さ。整数を指定 |
fill | 線の色 *1 |
arrow | 矢印を表示。first(始端)、last(終端)、both(両端)を指定 |
dash | 破線を表示。整数のタプルを指定。例:(1,1) *2 |
*1 色の指定にはred、green、blueなどのカラー名や先頭に#(シャープ)を付けた16進数が使えます。
*2 表示長、非表示長の繰り返しです。長さの単位はピクセルです。(ただし、Windows環境ではうまく動作しないようです)
Canvasウィジェットに直線を表示するプログラム
Canvasウィジェットに直線を表示するプログラムは、以下のようになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
### インポート import tkinter ### キャンバス作成 canvas = tkinter.Canvas(master=None, width=640, height=400) ### キャンバス表示 canvas.pack() ### 直線描画 canvas.create_line(0, 20, 640, 20) canvas.create_line(0, 60, 640, 60, width=5) canvas.create_line(0, 100, 640, 100, fill="red") canvas.create_line(0, 140, 640, 140, dash=(1,1)) canvas.create_line(0, 180, 640, 180, arrow="both") canvas.create_line(0, 220, 200, 220, 310, 380, 420, 280, 530, 350, 640, 220) ### イベントループ canvas.mainloop() |
プログラムを実行すると、以下のような画面が表示されます。