我正在尝试制作一个使用“ import simplegui”显示计时器剩余时间的程序。
import simplegui
def timer_handler():
timer = simplegui.create_timer(500, timer_handler)
timer.start()
message = simplegui.create_timer
def draw(canvas):
canvas.draw_text(int(message, [50,112], 48, "Red")) #Line where I get the error.
frame = simplegui.create_frame("Home", 300, 200)
frame.set_draw_handler(draw)
frame.start()
答案 0 :(得分:1)
该行末尾的括号过多。因此,draw_text
的参数将作为int
canvas.draw_text(int(message), [50,112], 48, "Red")
^ Move the trailing parenthesis here
答案 1 :(得分:1)
您使用的计时器不正确。 timer_handler
是每次计时器“滴答”时都会调用的函数。您必须在函数外部创建计时器,然后将处理程序作为参数传递。
关于显示时间,您必须创建一个全局变量,然后像这样从处理程序中递增它:
import simplegui
time = 0
def timer_handler():
global time
time += 1
timer = simplegui.create_timer(500, timer_handler)
timer.start()
def draw(canvas):
canvas.draw_text(str(time), [50,112], 48, "Red") #Line where I get the error.
frame = simplegui.create_frame("Home", 300, 200)
frame.set_draw_handler(draw)
frame.start()