屏幕上的瞬间按钮Kivy on Python

时间:2016-11-11 23:22:57

标签: python kivy

我有以下代码,用于制作屏幕上的瞬时按钮,以便将电机拉上以推出遮阳篷。

我从github上的一个例子中借用了代码,希望根据我的需要对其进行修改。

正如你所看到的那样,代码设置一个按钮作为一个瞬时按钮而不是一个锁定按钮,这就是我想要的,但是,在这种情况下,无论我按住按钮多长时间,输出都是只有在Clock.schedule量为1/10秒时才会这样。

我已经尝试了多种不同的方法来保持输出,只要我按住按钮但是我找不到满意的解决方案?

我可以在GPIO引脚上设置一个瞬间外部(物理)按钮来做到这一点而不会出现问题,但无法让它在屏幕上的软件按钮上工作?

简而言之,我想要发生的是: 当我按下触摸屏上的按钮时,电机应该一直工作,直到我把手指从按钮上移开。

有人能帮助我吗?提前谢谢。

#Awning
if obj.text == '[size=24]Awning\n   Out[/size]':
    # turn on output:
    GPIO.output(awnoutPin, GPIO.HIGH)
    # schedule it to turn off:
    Clock.schedule_once(awnout1, .1)   #output stays on if this removed



    #Awning - Momentary
    awningOut = ToggleButton(text="[size=24]Awning\n   Out[/size]",markup = True)
    awningOut.bind(on_press=press_callback)

    awningIn = ToggleButton(text="[size=24]Awning\n     In[/size]",markup = True)
    awningIn.bind(on_press=press_callback)

    layout.add_widget(awningOut)
    layout.add_widget(awningIn)

1 个答案:

答案 0 :(得分:0)

我会这样做:

FileOutputStream fos = context.openOutputStream("file.txt", Context.MODE_PRIVATE);