|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 一个账号 于 2020-3-12 20:28 编辑
各位大神~
我用TK 做了一张文字能够滚动的贺卡,可以在屏幕显示运行,但是关闭后会报错,如下:麻烦各位大大帮忙看一下!感谢
Traceback (most recent call last):
File "/Users/admin/Documents/Happy1.py", line 50, in <module>
canvas.delete(each)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/tkinter/__init__.py", line 2818, in delete
self.tk.call((self._w, 'delete') + args)
_tkinter.TclError: invalid command name ".!canvas"
root=Tk()
text=['《日子》','作者:北岛',
'用抽屉锁住自己的秘密']
ft2=('微软雅黑','25','bold')
canvas=Canvas(root,width=1050,height=680)
canvas.pack()
position=[(600,500),(600,450),(600,400),(600,350),(600,300)]
position_len=len(position)
while True:
for i in range(len(text)):
position_list=[]
for j in range(0,min(i+1,position_len)):
x = position[j][0]
y = position[j][1]
t = text[i-j]
position_list.append(canvas.create_text(x,y,text=t,fill=cl,font=ft2))
root.after(1000)
root.update()
for each in position_list:
canvas.delete(each)
mainloop()
这个是正常的!你哪里While True永远不会跳到mainloop,也不能随着窗口关闭,要不就改成这样: root=Tk()
text=['《日子》','作者:北岛',
'用抽屉锁住自己的秘密']
ft2=('微软雅黑','25','bold')
canvas=Canvas(root,width=1050,height=680)
canvas.pack()
position=[(600,500),(600,450),(600,400),(600,350),(600,300)]
position_len=len(position)
while True:
for i in range(len(text)):
position_list=[]
for j in range(0,min(i+1,position_len)):
x = position[j][0]
y = position[j][1]
t = text[i-j]
position_list.append(canvas.create_text(x,y,text=t,fill=cl,font=ft2))
root.after(1000)
root.update()
for each in position_list:
try:
canvas.delete(each)
except:
break
这里是用空格打的tab,可能缩进有错误,请谅解
|
|