|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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,可能缩进有错误,请谅解
|
|