我对此感到非常沮丧,因为它为什么不起作用是完全愚蠢的。
我有:
import random as rand
import time
import tkinter
root = tkinter.Tk()
canvas = tkinter.Canvas(root, height = 800, width = 1300)
canvas.grid(row = 0, column = 0)
root.title('Test')
root.update_idletasks()
root.update()
bench1Xadd = 0
bench1Yadd = 0
vCard1 = tkinter.PhotoImage(file = 'card1.gif')
b1Card1 = canvas.create_image(50, 500, anchor = 'nw', image = vCard1)
root.update()
time.sleep(0.03)
canvas.delete("all")
root.update()
input('')
def imageAdd(vCard, slot, x, y):
slot = canvas.create_image(x, y, anchor = 'nw', image = vCard)
return slot
imageAdd(vCard1, b1Card1, 50 + bench1Xadd, 500 - bench1Yadd)
root.update()
input('')
canvas.delete(b1Card1)
root.update()
为什么canvas.delete()
无效?
如果我忘记任何具体的内容,我很抱歉。
答案 0 :(得分:2)
z
表示您创建的第一个图像,您几乎立即将其删除。稍后,当您尝试再次删除它时,它不存在,因此不会删除任何内容。
将a
传递给b1Card1
不会导致使用新值进行更新。相反,您需要保存b1Card1
的结果:
imageAdd