web-dev-qa-db-ja.com

四角形を作成するTkinter Canvas

Python、tkinterでは、キャンバスにシェイプを作成するゲームを作成しようとしています。たとえば、キャンバス画像の上に赤い長方形を表示したいです。コードを実行すると、表示される四角形のサイズが約1ピクセルになります。その理由と方法はわかりません。ここに私のコードがあります:

from tkinter import *
root = Tk()
root.geometry("500x900")
canvas = Canvas(root, width=550, height=820)
canvas.pack()
png = PhotoImage(file = r'example.png') # Just an example
canvas.create_image(0, 0, image = png, anchor = "nw")

a = canvas.create_rectangle(50, 0, 50, 0, fill='red')
canvas.move(a, 20, 20)

これが解決できることを願っています。

10
Jake

_create_rectangle_メソッドは4つの座標を取ります:canvas.create_rectangle(x1, y1, x2, y2, **kwargs)、(x1、y1)左上隅の座標と(x2、y2)右下隅の座標。しかし、同じ座標を2回指定したため、長方形の幅と高さはゼロになります。そのため、ピクセルしか表示できません。 canvas.create_rectangle(50, 0, 100, 50, fill='red')を試してみてください。今回は、辺50ピクセルの正方形を取得する必要があります。

この website で_create_rectangle_の引数に関する詳細を取得できます。

16
j_4321