Input Feld nicht klickbar aufgrund von Slider(kivy python)?

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)

Woher ich das weiß:Hobby – Programmierer