我正在 python 中制作一个 gui,它使用串行端口发送命令。在我的旧脚本中,没有 gui,我在写命令之间使用了 time.sleep(x)(对于命令成功是必要的)。现在,当我使用 gui envrimont 时,我不能使用 sleep,所以我使用 after。
它工作得很好,但是:我正在为我的 gui 使用 Tkinter。当我按下按钮 start 时, OnButtonClickSTART 在 x 时间后启动另一个功能。使用 self.after 我在每个进程之间等待 x 秒。它可以工作,但是当我给函数赋值时,它不会等待给定的时间。
def OnButtonClickSTART(self):
print "START"
self.button1.configure(state='disabled')
self.after(1000, self.waitmore)
def waitmore(self):
value = 5
print value
self.after(10000,self.waitmuchmore(value))
def waitmuchmore(self,value):
print value
self.after(10000,self.OnButtonClickSTOP)
def OnButtonClickSTOP(self):
print "STOP"
self.button1.configure(state='normal')
这里不是执行一系列命令的更好方法,它们之间有一定的时间。像睡眠一样,但可以使用 1 个功能并且不会禁用 gui。
谢谢