因为第13行的
except KeyboardInterrupt
应改为
except a as KeyboardInterrupt
>>#加了上面这段while运行时窗体不显示只是后台在截图,这是为什么,要怎么处理?
wx这种GUI框架都是基于事件的。事件包括窗体绘图,窗体刷新,鼠标按钮点击等。这些事件是在 app.MainLoop() 里面进行捕获和处理的。你的程序没有执行到 MainLoop() GUI就不能正常工作。
解决办法:
使用一个单独的进程或线程做截图,不要阻塞主进程。
使用Timer之类的GUI控件,然后定义相应的handler. wx里面有wxTimer.
补充:你的程序已经用到了wx的Timer控件,只要多创建一个Timer用来触发截图动作就可以了。
回答会自动过滤缩进,需要按照上图调整语法缩进,下方是代码
import time
# 设置倒计时时间(单位:秒)
countdown_time = 20
# 开始循环
while countdown_time >0:
# 打印当前倒计时时间
print(countdown_time)
# 等待 1 秒
time.sleep(1)
# 倒计时时间减 1
countdown_time -= 1
# 倒计时结束
print("倒计时结束!")