我正在使用打印(和上传)选项进行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()功能永远不会结束......
答案 0 :(得分:1)
您在while循环的每次迭代中将time
设置为59。这意味着时间永远不会达到0并且循环是无限的。
通过在time = 60
while()
来解决此问题