当前位置: 首页 > 知识库问答 >
问题:

如何在固定时间后自动关闭tkinter窗口?[重复]

卫飞
2023-03-14

我正在开发一个GUI,它允许用户决定是继续执行脚本还是终止脚本,但如果用户在15分钟内没有响应,我希望关闭窗口并自动执行脚本的其余部分。我用过根。函数中的destroy(),但它仅在用户响应时执行。

import sys      
import Tkinter   
root = Tkinter.Tk()   
"""def countdown(time):   
    if time==10:   
        root.destroy()   
    else:   
        time +=time """ 
def Yes_callback():    
    root.destroy()   
    return()    
def No_callback():    
    root.destroy() #Kills GUI    
    sys.exit("There is an Overnight execution")#Stops script    
    return() # returns to prog    
ask = Tkinter.Label(text="Do you have any overnight task to run?")    
yes_button = Tkinter.Button(root,text="Yes", command = Yes_callback)    
no_button = Tkinter.Button(root, text="No", command = No_callback)    
ask.pack()   
yes_button.pack()    
no_button.pack()    
#countdown(0)    
root.mainloop()

我尝试过在试用的基础上使用倒计时功能,但它不起作用,因为没有用户响应控制就不会进入倒计时功能。我有什么办法能完成这项任务吗?

共有1个答案

顾亦
2023-03-14

看一看后面的方法。

widget.after(5000,callback)

参考:一段时间后关闭tkinter窗口

 类似资料:
  • 在一个类中,在一个函数中,我创建了一个Tkinter画布。这个函数正在被另一个类调用,我希望Tkinter窗口弹出30秒,然后自动关闭。我有电话 但我犯了个错误 elf.tk.call('destroy',self.w)\u tkinter.TclError:无法调用“destroy”命令:应用程序已被销毁 那我怎么能让它自己关上呢?

  • 我尝试了各种方法来关闭我在互联网上可以找到的tkinter窗口。我问这个问题的唯一原因是,尽管已经被问了很多次,我仍然无法让它起作用。 基本上,我正在制作一个简单的“倒计时”游戏(就像电视节目一样),其中包括一个30秒的大倒计时。数字会正确地打勾,但是除非用户手动关闭窗口,否则程序不会继续。显然,这首先违背了计时器的目的,但是我如何让它在我想要的时候自动关闭呢? 下面是一个不起作用的非常简单的示例

  • 我们试图在Apache Beam管道上使用固定窗口(使用)。我们的流程如下: 从pub/sub中提取数据 反序列化JSON到Java对象 窗口事件w/固定窗口5秒 使用自定义的,将事件的每个窗口合并成一个

  • 在这个新窗口中,我找不到一种方法来确保打印标签,或者实际播放游戏是在my_window中完成的?? 在下面的代码中,我用函数launch_the_game中的标签(label(my_window,text=“game_num value”+str(game_num)).grid(行=5,列=0)来模拟它。这个标签是在root中打印的,而不是在my_window中打印的,这是怎么回事呢? 我不是在叫

  • 场景是:您在窗口(a)中,单击按钮/链接启动打印过程,然后打开一个新窗口(B),其中包含要打印的内容,打印对话立即显示,如果您单击窗口(B)的取消按钮,那么您应该可以再次打印,但当您单击窗口(B)的打印按钮打印时,您可以打印,但窗口(a)的按钮不能再次继续打印。给我一些解决方案…!!!在chrome,Firefox和internet explorer上工作

  • 我想每5秒重复调用一个方法,每当我希望停止对该方法的重复调用时,我都可以停止或重新启动该方法的重复调用。 这是一些我真正想实现的示例代码。请在这方面帮助我,我会非常感谢你。