尝试按顺序执行一组功能

时间:2016-10-14 08:22:51

标签: python timer tkinter

我是一个Python noob,我正在尝试制作一个洗衣设备,用Python编程接口。现在,机器应该这样工作:

  1. 告诉洗涤完成
  2. 告诉干燥完成
  3. 为此,输入洗涤/烘干时间后,按下一个按钮:

    button1 = Button(window.tk, command = lambda:main_process(int(varWashtime.get()), int(varDrytime.get())))
    
    def main_process(wash_seconds,dry_seconds):
            wash(wash_seconds)
            stop_wash()
            dry(dry_seconds)
            stop_dry()
            return
    
    def wash(seconds):
        varWashStarted.set("Washing Started") 
        Timer(seconds,idle_fnc).start() 
        return
    
    def stop_wash():
        varWashStarted.set("Washing Stopped")
        Timer(3,idle_fnc,()).start()
        return
    
    def dry(seconds):
        varDryStarted.set("Drying Started")
        Timer(seconds,idle_fnc,()).start()
        return
    
    def stop_dry():
        varDryStarted.set("Drying Stopped")
        return
    
    def idle_fnc():
        pass
        return
    

    在这里,我使用函数idle_fnc使threading.Timer正常工作。

    我发现我可以使用Timer在彼此之后调用其他函数,但我更愿意从函数返回,然后分支到新函数。

    我的问题是,当我点击按钮时,整个过程无需等待即可执行;我立即看到" Wash Stopped"和#34;干燥停止"在相应的标签上,没有触发延迟。

    有什么问题?

0 个答案:

没有答案