塗りつぶされた多角形 (正方形と六角形) をキャンバスに描画し、後で関心のある領域でキャンバスをズームインまたはズームアウトできるようにしたいと考えています。
Tkinter に基づいて、次のデモ プログラムを作成しました。
#!/usr/bin/python
from Tkinter import *
def DrawSquare(canvas, orgx, orgy, size, filler):
orgx=orgx*size
orgy=orgy*size
canvas.create_polygon(orgx, orgy, orgx+size, orgy, orgx+size, orgy+size, orgx, orgy+size, orgx, orgy, outline="black", fill=filler)
def main():
w = Frame()
w.pack(expand=YES, fill=BOTH)
canvas = Canvas()
canvas.pack(expand=YES, fill=BOTH)
for x in range(-30,10):
for y in range(-30,10):
DrawSquare(canvas, x,y,20,"white")
mainloop()
main()
キャンバスに多数の正方形を描画しますが、少なくとも Tkinter キャンバスのデフォルト オプションでは、負の象限に正方形が表示されません。
問題は次のとおりです。
- Tkinter.Canvas をスライドさせたりズームさせたりすることはできますか (できれば組み込み関数を使用)?
- より適切な代替フレームワークに移行できますか?