1

塗りつぶされた多角形 (正方形と六角形) をキャンバスに描画し、後で関心のある領域でキャンバスをズームインまたはズームアウトできるようにしたいと考えています。

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 をスライドさせたりズームさせたりすることはできますか (できれば組み込み関数を使用)?
  • より適切な代替フレームワークに移行できますか?
4

1 に答える 1