我想在画布上绘制填充的多边形(正方形和六边形),然后能够在感兴趣的区域上放大或缩小画布。
我基于 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 滑动和缩放(最好使用内置函数)吗?
- 有没有我可以过渡到更合适的替代框架?