python - Kivy:检查功能是否已安排

标签 python python-2.7 kivy

有没有办法检查某个功能是否已安排?我正在查看 Clock 方法,但没有看到任何可以使用的东西。我试图避免函数的重新调度(Clock.unschedule(func) -> Clock.schedule_interval(func, dt)),除非它已经被安排为开始.

最佳答案

您可以使用kivy.clock.Clock.get_events()来获取计划事件的列表:

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout

from kivy.lang import Builder

Builder.load_string("""
#:import Clock kivy.clock.Clock

<MyWidget>:
    Button:
        text: "Print events"
        on_press: print(Clock.get_events())
    Button:
        text: "Add event"
        on_press: Clock.schedule_once(root.my_callback, 5)
""")

class MyWidget(BoxLayout):
    def my_callback(self, arg):
        print("my_callback")

class MyApp(App):
    def build(self):
        return MyWidget()

if __name__ == '__main__':
    MyApp().run()

旧答案:

这不是一个非常干净的方法,但您可以检查 kivy.clock.Clock._events 列表的内容。

关于python - Kivy:检查功能是否已安排,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31254796/

相关文章:

python - 如何在 Selenium WebDriver (Python) 中找到包含特定文本的元素?

python BeautifulSoup 找到特定形式的所有输入

python - Kivy (Python) TabbedPanel - 不同(动态)大小的选项卡?

python - 使用 Python 将 PDF 文件读取为文本

python - 从模块调用未定义的方法

python - 在哪里可以找到未完全实现的 Python-Future 导入的文档?

python - 使用 beautifulsoup 获取 div 中的 child 文本

python - 类型错误 : unsupported operand type(s) for ^: 'numpy.float64' and 'numpy.float64'

python-3.x - KivyMD DatePicker 不随屏幕尺寸调整大小

python - Kivy:访问列表对象时出现AttributeError: 'NoneType'对象没有属性 'bind'