Input Feld nicht klickbar aufgrund von Slider(kivy python)?
Ich weiß zwar das es eine methode gibt die touch heißt aber ich weiß nicht wie ich diese korrekt verwenden kann
1 Antwort
Das Problem, dass das Input-Feld nicht klickbar ist, liegt daran, dass der Slider einen größeren Bereich als das Input-Feld belegt. Wenn du den Slider berührst, wird die Berührung auch auf das Input-Feld übertragen, wodurch das Input-Feld nicht mehr klickbar ist. Das kann ja nicht funktionieren
Du musst den Slider so positionieren, dass er das Input-Feld nicht überlappt. Du kannst auch die size_hint-Eigenschaft des Sliders so einstellen, dass er kleiner ist als das Input-Feld.
Oder du kannst die on_touch_down-Methode des Sliders benutzen. Diese Methode wird aufgerufen, wenn der Slider berührt wird. In dieser Methode kannst du überprüfen, ob der Slider berührt wurde und den Touch dann auf das Input-Feld übertragen.
also so;
class Slider(Widget):
def __init__(self, **kwargs):
super(Slider, self).__init__(**kwargs)
self.bind(on_touch_down=self.on_touch_down)
def on_touch_down(self, touch):
if touch.is_mouse_scrolling:
return
if self.collide_point(touch.pos):
return
touch.pos = self.input_field.to_local(touch.pos)
self.input_field.dispatch("on_touch_down", touch)