【发布时间】:2015-05-05 07:01:58
【问题描述】:
尝试在 Tkinter 中制作一些动画电视“雪”(我知道“雪”已过时) 我在标题中遇到了我无法解释的错误。如果我以通常的方式调用该例程,则该例程可以正常工作。
import tkinter
from random import randint
import threading
x,y =640, 480
rm=256*256*256
def do_snow(img):
while True:
s=(" ".join((("{"+" ".join("#{:06x}".format(randint(0, rm))
for i in range(x)))+"}" for j in range(y))))
img.put(s)
print('x')
t = tkinter.Tk()
img = tkinter.PhotoImage(width=x,height=y)
c = tkinter.Label(t,image=img);c.pack()
x=threading.Thread(target=do_snow ,args=(img,))
x.daemon = True
x.start()
t.mainloop()
错误转储是:
Exception in thread Thread-1:
Traceback (most recent call last):
File "C:\Python34\lib\threading.py", line 920, in _bootstrap_inner
self.run()
File "C:\Python34\lib\threading.py", line 868, in run
self._target(*self._args, **self._kwargs)
File "C:\Users\AGUAL\Google Drive\python\tkinter\do_snow.py", line 12, in do_snow
for i in range(x)))+"}" for j in range(y))))
File "C:\Users\AGUAL\Google Drive\python\tkinter\do_snow.py", line 12, in <genexpr>
for i in range(x)))+"}" for j in range(y))))
TypeError: 'Thread' object cannot be interpreted as an integer
【问题讨论】:
标签: python multithreading python-3.x tkinter