Python回到第一个函数

时间:2016-12-30 07:12:02

标签: python

我正在使用打印(和上传)选项进行Photobooth。 这个项目如下所示: 使用说明启动屏幕 - >预览结果屏幕 - >用户选择打印或重新启动(或超时选择重新启动用户)

如果用户选择打印,则完成打印,并在返回开始屏幕之前显示一条消息(睡眠方式)。

现在,我有一个主要问题:  回到开始屏幕......

简化代码在这里:

def PreviewMontage(MontageFile):
    global LastTap
    LastTap = time.time()
    print("Session ID:", SessionID)
    print("Show something.")
    preview = pygame.image.load(MontageFile)
    PILpreview = Image.open(MontageFile)
    previewSize = PILpreview.size # returns (width, height) tuple
    #added /1.5
    ScaleW = AspectRatioCalc(previewSize[0]/1.5, previewSize[1]/1.5, SCREEN_HEIGHT)
    preview = pygame.transform.scale(preview, (ScaleW, SCREEN_HEIGHT))
    SetBlankScreen()
    background.blit(preview, (SCREEN_WIDTH/2-ScaleW/2, 0))
    PrintScreen()
    #inserting conditions here - get mouse
    camera.stop_preview()
    UpdateDisplay()
    Wait()
    return

def Wait():
    clock = pygame.time.Clock()
    waiting = True

    while waiting:
        time = 60
        time = time -1 
        for event in pygame.event.get():
        if event.type == pygame.MOUSEBUTTONDOWN and event.button == LEFTMOUSEBUTTON:
            x, y = event.pos
            print("You pressed the left mouse button at (%d, %d)" % event.pos)
            LeftMouseButtonDown(x, y)
        if time == 0:
           waiting = False
return

我遇到了回到主屏幕的问题,似乎 Wait()功能永远不会结束......

1 个答案:

答案 0 :(得分:1)

您在while循环的每次迭代中将time设置为59。这意味着时间永远不会达到0并且循环是无限的。

通过在time = 60

之外声明while()来解决此问题