2

我想为我正在创建的游戏创建一个假的加载栏,我尝试使用这样的 timer 命令:

def loading(time):
    print("loading "+str(time)+"%..")
t = Timer(1.0, loading(0))
t.start()
a = Timer(3.0, loading(10))
a.start()

但它不起作用(它应该在 1 秒后打印加载 0% 并在三秒后加载 10% 但它会立即打印它们)并且它给出了这个错误:

Exception in thread Thread-1:
Traceback (most recent call last):
File "H:\Python\python\App\lib\threading.py", line 736, in _bootstrap_inner
self.run()
File "H:\Python\python\App\lib\threading.py", line 942, in run
self.function(*self.args, **self.kwargs)
TypeError: 'NoneType' object is not callable

你能给我建议一些解决这个问题的方法或其他方法吗?提前致谢。

4

1 回答 1

4

loading(0)立即调用加载。

t = Timer(1.0, lambda: loading(0))

应该解决您的问题。这只是创建一个lambda(匿名函数)被调用,而不是调用你的函数。

于 2013-04-23T12:46:30.863 回答