ins.gif的下载地址:
https://morvanzhou.github.io/static/results/tkinter/ins.gif
笔者用jupyter notebook运行下面这段代码时,发现了一个诡异之处,有时能成功运行,有时会报错:
TclError: image "pyimage13" doesn't exist
同一段代码,为什么有时能成功运行,有时会报错,笔者想不明白,如果哪位大佬发现了问题,请给笔者留言。
# 创建主窗口
import tkinter as tk
window = tk.Tk()
window.title('画布')
window.geometry('300x200')
# 创建画布
canvas = tk.Canvas(window, bg='blue', width='200', height=100)
# 往画布中插入图片
image_file = tk.PhotoImage(file='ins.gif') # 引入图片AI.gif
image = canvas.create_image(10, 10, # 10, 10是图片放入画布中的坐标
anchor='nw', # nw是northwest的简写,把图片的左上角作为锚定点
image=image_file,
)
# 在画布中绘制直线
x0, y0, x1, y1 = 50, 50, 80, 80
line = canvas.create_line(x0, y0, x1, y1) # 该线起点为(30, 30), 终点为(70, 70)
# 在画布中绘制一个圆, 填充颜色为绿色
oval = canvas.create_oval(x0, y0, x1, y1, fill='red')
# 在画布中创建一个扇形
arc = canvas.create_arc(# 圆心坐标((x0+30+x1+30)/2, (y0+30+y1+30)/2)
# 圆的直径为下面两点的距离
# x0+30, y0+30, x1+30, y1+30,
start=0, extent=180, # 半圆
)
# 创建一个矩形
rect = canvas.create_rectangle(100, 30, 100+20, 30+20)
canvas.pack()
def moveit():
canvas.move(rect, 0, 2)
b = tk.Button(window, text='move', command=moveit).pack()
window.mainloop()
版权声明:本文为qq_41149269原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。