gpt4 book ai didi

python - kivy 中绑定(bind)按钮的 On_Release 事件不起作用 - 运行 on_touch_down

转载 作者:行者123 更新时间:2023-12-01 22:36:22 24 4
gpt4 key购买 nike

我正在尝试在小部件上添加一个按钮并将该按钮绑定(bind)到一个函数。同时,我有一个 on_touch_down 事件在运行。

但是,当我按下按钮时,它并没有调用该函数;相反,它会调用 on_touch_down 事件。

我该如何解决这个问题?

import kivy
kivy.require('1.0.8')

from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.button import Button

class a(Widget):

def on_touch_down(self, touch):
print("touch x is ", touch.x)
print("touch y is ", touch.y)

def update(self,dt):
print("updated")

class mainApp(App):

def build(self):
print("Hi, I am build function")
parent = a()

self.Startbtn = Button(text='Start')
parent.add_widget(self.Startbtn)
self.Startbtn.bind(on_release=self.Loop1)

#Clock.schedule_interval(parent.update, 10.0/1000 )
return parent

def Loop1(self,dt):
print("Hi, this is Loop function")
self.v=1


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

最佳答案

试试这个:

class a(Widget):
def on_touch_down(self, touch):
print "touch x is ",touch.x
print "touch y is ",touch.y
# add this line:
super(a, self).on_touch_down(touch)

on_touch...方法在触摸事件链中首先执行,覆盖它,你打破了这条链,所以只需添加 super() 继续。希望对您有所帮助。

编辑:事实证明,除了 super(),您还可以返回 True 继续事件树

关于python - kivy 中绑定(bind)按钮的 On_Release 事件不起作用 - 运行 on_touch_down,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22627394/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com