Python上的即时屏幕按钮Kivy
我有下面的代码,这是做一个屏幕上的瞬时按钮,以保持电机上推出一个遮阳篷 我从github上的一个示例中借用了代码,希望根据自己的需要对其进行修改 正如您所看到的,代码将按钮设置为瞬时按钮,而不是锁定按钮,这正是我想要的,但是,在这种情况下,无论我按住按钮多长时间,输出仅在1/10秒的时钟时间内打开 我尝试了多种不同的方法,只要我按住按钮,就可以保持输出,但我找不到满意的解决方案 我可以在GPIO引脚上设置一个瞬时外部(物理)按钮,这样做不会出现问题,但无法在屏幕上的软件按钮上运行 简而言之,我希望发生的是: 当我按下触摸屏上的按钮时,电机应继续运行,直到我将手指从按钮上取下 请问有人能帮我吗?提前谢谢Python上的即时屏幕按钮Kivy,python,kivy,Python,Kivy,我有下面的代码,这是做一个屏幕上的瞬时按钮,以保持电机上推出一个遮阳篷 我从github上的一个示例中借用了代码,希望根据自己的需要对其进行修改 正如您所看到的,代码将按钮设置为瞬时按钮,而不是锁定按钮,这正是我想要的,但是,在这种情况下,无论我按住按钮多长时间,输出仅在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)
我会这样做:
#!/usr/bin/env python3.5
# -*- coding: utf-8 -*-
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.button import Button
from kivy.clock import Clock
gui = '''
GridLayout
cols: 1
Label
text: button.name
MyButton
id: button
name: ''
'''
class MyButton(Button):
def send_signal(self, dt):
self.name = str(dt)
def on_press(self):
Clock.schedule_interval(self.send_signal, 0)
def on_release(self):
Clock.unschedule(self.send_signal)
class Test(App):
def build(self):
return Builder.load_string(gui)
Test().run()
我会这样做:
#!/usr/bin/env python3.5
# -*- coding: utf-8 -*-
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.button import Button
from kivy.clock import Clock
gui = '''
GridLayout
cols: 1
Label
text: button.name
MyButton
id: button
name: ''
'''
class MyButton(Button):
def send_signal(self, dt):
self.name = str(dt)
def on_press(self):
Clock.schedule_interval(self.send_signal, 0)
def on_release(self):
Clock.unschedule(self.send_signal)
class Test(App):
def build(self):
return Builder.load_string(gui)
Test().run()
感谢jiligeza,我已经离开这个项目一段时间了,因为我很沮丧,但我会在本周尝试一下。感谢jiligeza,我离开这个项目一段时间了,因为我很沮丧,但我会在本周尝试一下。