Tkinterで円や楕円形を描画する方法

スポンサーリンク

ホラ・コーダーズ! 今回は、Tkinterを使って様々な図形を描画してみましょう。

前回のブログでは、Tkinterを使って線を描くというトピックは、この最先端のコンセプトへの良いきっかけになりました。

読者はこのURLで見ることができます。

では、今回は新しいものに前進して、さらにいくつかの図形を描いてみましょう。

こちらもご覧ください。

スポンサーリンク

基本設定

プロジェクトファイルのために、新しいディレクトリを作成することは、常に良いプログラミングプラクティスです。

これは、将来の目的のために、より速く物事を整理するのに役立ちます。

    1. フォルダを作成します。1. Tkinter Shapesというフォルダを作成します。
    1. Pythonファイルを作成し、スクリプト/コードを格納します。これでコーディングの準備は完了です。
    1. 必要であれば、それぞれのコードに別々のPythonスクリプトを作成することもできます。

基本を飛ばしますか?Tkinterで楕円を作るところへジャンプしてください。

Tkinterのキャンバスを作成する

TkinterのCanvasは、描画や相対的な処理を行うための基本的なウィンドウです。

これは白い画面で、ホワイトボードのようにカラフルなチョークを使ってスケッチを表示することができます

以下は、Canvasのセットアップのためのコードです。

コード

from tkinter import Tk
from tkinter import Canvas
 
window = Tk()
window.geometry("400x400")
window.configure(background = "grey")
window.title("Canvas - Draw Shapes")
window.resizable(False, False)
 
# setting up the canvas
canvas = Canvas(width = 350, height = 350, bg = "white")
canvas.pack(pady = 20)
 
window.mainloop()

結果は以下の通りです。

from tkinter import Tk
from tkinter import Canvas
 
window = Tk()
window.geometry("400x400")
window.configure(background = "grey")
window.title("Canvas - Draw Shapes")
window.resizable(False, False)
 
# setting up the canvas
canvas = Canvas(width = 350, height = 350, bg = "white")
canvas.pack(pady = 20)
 
# create a text that renders the name of our shape
canvas.create_text(175, 30, text = "Arc", font = ("Arial", 30))
 
#create an arc
canvas.create_arc(0, 340, 200, 100, width = 5)
 
window.mainloop()

それでは、Tlkinterウィンドウの中央にCanvasを配置してみましょう。

  1. 解像度は350×350です。
  2. 背景は白に設定されています。

図形を描くための関数

Canvas上に図形を描画するための組み込み関数があります。

これらはCanvasクラス自体から派生したものです。

その一覧は以下の通りです。

create_line() – 直線を描画します。

create_arc() – 画面上に円弧を描画します。

create_oval() – 楕円、円、だ円を描く。

create_polygon() – 六角形、五角形などをトレースします。

ここでは、最も重要な2つの関数、create_arc()とcreate_oval()メソッドを見てみましょう。

さっそく始めてみましょう。

Tkinterで円弧を作成する

コード

from tkinter import Tk
from tkinter import Canvas
 
window = Tk()
window.geometry("400x400")
window.configure(background = "grey")
window.title("Canvas - Draw Shapes")
window.resizable(False, False)
 
# setting up the canvas
canvas = Canvas(width = 350, height = 350, bg = "white")
canvas.pack(pady = 20)
 
canvas.create_text(175, 30, text = "Arc", font = ("Arial", 30))
canvas.create_arc(0, 340, 200, 100, width = 5, fill = "orange")
 
window.mainloop()

結果は以下の通りです。

from tkinter import Tk
from tkinter import Canvas
 
window = Tk()
window.geometry("400x400")
window.configure(background = "grey")
window.title("Canvas - Draw Shapes")
window.resizable(False, False)
 
# setting up the canvas
canvas = Canvas(width = 350, height = 350, bg = "white")
canvas.pack(pady = 20)
 
canvas.create_text(175, 20, text = "Circle", font = ("Arial", 30))
canvas.create_oval(175, 100, 100, 175, width = 3)
 
window.mainloop()

説明

  1. 最初の7行は、ウィンドウとキャンバスの基本的なセットアップです。
    1. 8行目から円弧を描画します。create_arc()関数を呼び出す。軸平面上に配置するために、座標(x1, y1, x2, y2)を指定します。順番に指定するのを忘れないように。 最後のパラメータはwidthです。これは図形の厚みを指定します。
    1. fillパラメータで円弧に色をつけることもできる。create_arc()の中で呼び出して、String形式でカラー名を指定します。「color_name “という文字列で指定します。
    1. 詳細を説明するために、create_text()関数を使用してテキストをレンダリングします。テキストはCanvasの上部に配置し、フォントをArial、サイズを30に設定します。

カラフルな円弧を描画するコード

from tkinter import Tk
from tkinter import Canvas
 
window = Tk()
window.geometry("400x400")
window.configure(background = "grey")
window.title("Canvas - Draw Shapes")
window.resizable(False, False)
 
# setting up the canvas
canvas = Canvas(width = 350, height = 350, bg = "white")
canvas.pack(pady = 20)
 
canvas.create_text(175, 20, text = "Circle", font = ("Arial", 30))
canvas.create_oval(175, 100, 100, 175, width = 3)
 
window.mainloop()

結果は以下の通りです。

Canvas Screen

というわけで、コードは先ほどのものと同じだ。

create_arc()関数の中にfillパラメータを追加するだけで、美しい結果が得られます。

Tkinterで円や楕円を作る

Tkinterを使って楕円を作成する準備はできましたか?さっそくやってみましょう。

ovalのコード。

Drawing An Arc Using Tkinter

結果は、以下の通りになります。

A Colorful Arc

説明します。

  1. 最初の7行は、Tkinterとcanvasの基本的なセットアップです。
    1. Canvasオブジェクトの中で、create_oval()関数を呼び出しています。これは、楕円や円をトレースする役割を担っています。
    1. 座標を指定すると、結果が得られます。

create_oval()メソッドは、円を作成することもできます。

x1とy2が同じで、x2とy1が同じであることを確認するだけでよい。

円を作るためのコード

The Green Oval

結果は以下の通りです。

A Circle

まとめ

このように、TkinterのCanvasと組み込みのShape関数を使って、様々な図形を描くことができます。

このライブラリはGUIプログラミングや開発の初心者にとても優しいものです。

読者のみなさんには、コードをいじくりまわして、これらのシェイプをカスタマイズしてみることをお勧めします。

この記事が楽しいものになることを願っています。

タイトルとURLをコピーしました