pyefun.核心支持库.时钟 源代码

"""

.. Hint::
    时钟

    易语言的时钟组件

    实现了 时钟周期事件

    使用装饰器设置定时任务 函数内返回 false则停止时钟

.. literalinclude:: ../../../pyefun/核心支持库/时钟_test.py
    :language: python
    :caption: 代码示例
    :linenos:
    :lines: 1-100

.. code-block:: python
   :linenos:

    @时钟周期事件(时钟周期=1000)
    def 定时任务():
        print("定时任务")
        # return True
        return False

    定时任务2运行状态 = True

    def 定时任务2():
        print(1111111111111,定时任务2运行状态)
        return 定时任务2运行状态
        # return False


    时钟(定时任务2, 时钟周期=2000)

    @时钟周期事件(时钟周期=5000)
    def 定时任务3():
        global 定时任务2运行状态
        print("把时钟停止掉")
        定时任务2运行状态 = False
        return False


"""


from threading import Timer



[文档]def 时钟(func, 时钟周期): """ 时钟 定时调用函数 也可以使用装饰器 @时钟周期事件(时钟周期=1000) def 定时任务(): print("定时任务") return False 停止时钟周期事件 时钟(定时任务, 时钟周期=2000) :param func: 运行函数 函数返回false 则停止时钟周期事件 :param 时钟周期: 毫秒 """ 时钟周期 = int(时钟周期 / 1000) def 自调用函数(): if not func() == False: return Timer(时钟周期, 自调用函数).start() return Timer(时钟周期, 自调用函数).start()
[文档]def 时钟周期事件(*args, **kwargs): """ 装饰器 @时钟周期事件(时钟周期=1000) def 定时任务(): print("定时任务") """ def warpp(func): 时钟(func, kwargs['时钟周期']) return warpp