Tkinter Canvas

2020-08-14 10:01:16 浏览数 (1)

演示效果

创建windows

代码语言:javascript复制
window = tk.Tk()
window.title('my window')
window.geometry('500x500')

循环刷新窗口

代码语言:javascript复制
window.mainloop()  # 不断刷新主窗口

创建Canvas

  • canvas = tk.Canvas(window, bg='blue', height=100, width=200)
    • 主画布
  • image_file = tk.PhotoImage(file='ins.gif') image = canvas.create_image(10, 10, anchor='nw', image=image_file)
    • 加载图片,设置图片路径,放在画布中,anchor参数控制锚点-即图片相对于哪个位置进行摆放,锚点参数如下图所示,(10,10)表示相对于锚点的坐标。
  • x0, y0, x1, y1= 50, 50, 80, 80 # 设定图形位置坐标 line = canvas.create_line(x0, y0, x1, y1) # 画线 oval = canvas.create_oval(x0, y0, x1, y1, fill='red') # 画圆,并将圆形填充为红色 arc = canvas.create_arc(x0 30, y0 30, x1 30, y1 30, start=0, extent=180) # 画扇形,并且从0度打开,180度结束 rect = canvas.create_rectangle(100, 30, 100 20, 30 20) # 正方形和长方形 canvas.pack() # 注意,在末尾要将整个对象pack到窗口中。

动作moveit function

  • def moveit(): canvas.move(rect, 0, 2) # 表示将正方形横轴不变,纵轴向下移动2个单位,因为原点从左上角开始,因此 2是纵坐标向下移动的意思
  • b = tk.Button(window, text='move', command=moveit).pack() # 将button关联到moveit函数中

0 人点赞