Python3-tk-canvas
Python 3-Tkinter Canvas
キャンバスは、絵やその他の複雑なレイアウトを描くための長方形の領域です。 キャンバスにグラフィック、テキスト、ウィジェット、またはフレームを配置できます。
構文
このウィジェットを作成するための簡単な構文は次のとおりです-
w = Canvas ( master, option = value, ... )
パラメーター
- master -これは親ウィンドウを表します。
- オプション-これは、このウィジェットで最も一般的に使用されるオプションのリストです。 これらのオプションは、カンマで区切られたキーと値のペアとして使用できます。
| Sr.No. | Option & Description |
|---|---|
| 1 |
bd ピクセル単位の境界線の幅。 デフォルトは2です。 |
| 2 |
bg 通常の背景色。 |
| 3 |
confine true(デフォルト)の場合、スクロール領域の外側でキャンバスをスクロールできません。 |
| 4 |
cursor 矢印、円、点などのキャンバスで使用されるカーソル。 |
| 5 |
height Y次元のキャンバスのサイズ。 |
| 6 |
highlightcolor フォーカスハイライトに表示される色。 |
| 7 |
relief レリーフは、境界線のタイプを指定します。 値のいくつかは、SUNKEN、RAISED、GROOVE、およびRIDGEです。 |
| 8 |
scrollregion キャンバスをスクロールできる領域の大きさを定義するタプル(w、n、e、s)。wは左側、nは上部、eは右側、sは下部です。 |
| 9 |
width X次元のキャンバスのサイズ。 |
| 10 |
xscrollincrement このオプションを正の寸法に設定すると、キャンバスはその距離の倍数にのみ配置でき、ユーザーがスクロールバーの端にある矢印をクリックしたときなど、スクロール単位によるスクロールに値が使用されます。 |
| 11 |
xscrollcommand キャンバスがスクロール可能な場合、この属性は水平スクロールバーの.set()メソッドでなければなりません。 |
| 12 |
yscrollincrement xscrollincrementと同様に機能しますが、垂直方向の動きを制御します。 |
| 13 |
yscrollcommand キャンバスがスクロール可能な場合、この属性は垂直スクロールバーの.set()メソッドでなければなりません。 |
Canvasウィジェットは、次の標準アイテムをサポートできます-
- arc。*コード、パイスライス、または単純なアークのアークアイテムを作成します。
coord = 10, 50, 240, 210
arc = canvas.create_arc(coord, start = 0, extent = 150, fill = "blue")
- image。* BitmapImageクラスまたはPhotoImageクラスのいずれかのインスタンスである画像アイテムを作成します。
filename = PhotoImage(file = "sunshine.gif")
image = canvas.create_image(50, 50, anchor = NE, image = filename)
- line。*ラインアイテムを作成します。
line = canvas.create_line(x0, y0, x1, y1, ..., xn, yn, options)
- oval。*与えられた座標に円または楕円を作成します。 2組の座標が必要です。楕円の境界矩形の左上隅と右下隅。
oval = canvas.create_oval(x0, y0, x1, y1, options)
- polygon。*少なくとも3つの頂点が必要なポリゴンアイテムを作成します。
oval = canvas.create_polygon(x0, y0, x1, y1,...xn, yn, options)
例
自分で次の例を試してください-
# !/usr/bin/python3
from tkinter import *
from tkinter import messagebox
top = Tk()
C = Canvas(top, bg = "blue", height = 250, width = 300)
coord = 10, 50, 240, 210
arc = C.create_arc(coord, start = 0, extent = 150, fill = "red")
line = C.create_line(10,10,200,200,fill = 'white')
C.pack()
top.mainloop()
結果
上記のコードが実行されると、次の結果が生成されます-