📄 windowsched.py
字号:
# Combine a real-time scheduling queue and stdwin event handling.# Keeps times in milliseconds.import stdwin, stdwinqfrom stdwinevents import WE_TIMERimport mainloopimport schedimport time# Delay function called by the scheduler when it has nothing to do.# Return immediately when something is done, or when the delay is up.#def delayfunc(msecs): msecs = int(msecs) # # Check for immediate stdwin event # event = stdwinq.pollevent() if event: mainloop.dispatch(event) return # # Use sleep for very short delays or if there are no windows # if msecs < 100 or mainloop.countwindows() == 0: if msecs > 0: time.sleep(msecs * 0.001) return # # Post a timer event on an arbitrary window and wait for it # window = mainloop.anywindow() window.settimer(msecs/100) event = stdwinq.getevent() window.settimer(0) if event[0] <> WE_TIMER: mainloop.dispatch(event)def millitimer(): return time.time() * 1000q = sched.scheduler(millitimer, delayfunc)# Export functions enter, enterabs and cancel just like a scheduler#enter = q.enterenterabs = q.enterabscancel = q.cancel# Emptiness check must check both queues#def empty(): return q.empty() and mainloop.countwindows() == 0# Run until there is nothing left to do#def run(): while not empty(): if q.empty(): mainloop.dispatch(stdwinq.getevent()) else: q.run()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -