有什么方法可以使用 Tkinter 库来绘制一些简单的形状吗?例如,假设我显示一张地图的图像,我可以让用户在地图上放置起点和终点,并将点之间的距离显示在 Entry() 框中吗?
谢谢!
是的,tkinter 有一个Canvas
小部件,可以让您绘制线条、多边形、椭圆、文本以及图像。
这是一个简单的例子:
import Tkinter as tk
class Example(tk.Frame):
def __init__(self, master):
tk.Frame.__init__(self, master)
self.canvas = tk.Canvas(self, width=400, height=400)
self.canvas.pack(side="top", fill="both", expand=True)
# draw some items
self.canvas.create_rectangle(50,50,150,150, fill="red")
self.canvas.create_oval(20,20,65, 75, outline="green")
self.canvas.create_text(10,200, anchor="nw", text="Hello, world")
if __name__ == "__main__":
root = tk.Tk()
Example(root).pack(fill="both", expand=True)
root.mainloop()
可以在这里找到一个很好的教程:http ://www.tkdocs.com/tutorial/canvas.html