Неопределенное поведение линий в kivy - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь отобразить строку при условии в моем файле kivy (.kv), но когда я использовал операторы if / else, линия нарисована так, что я не могу объяснить (подробнее ниже).

Например, если я набираю

Line: # Vertical line
        points: self.x + self.size[0]/8, self.y, self.x + self.size[0]/8, self.top if self.text == 'OR' else 0, 0, 0, 0

Все линии становятся странными, они становятся двумя сегментами в разных направлениях, но продолжаются (например, форма L или V) . Я не понимаю, потому что это должна ОДНА строчка, а не две. Было бы хорошо, если бы кто-нибудь мог просветить меня по этому поводу.

Однако, угадывая и пытаясь, я нашел решение (я пробовал кучу разных значений) своей проблемы, но я не понимаю, почему это работает

Line: # Vertical line
        points: self.x + self.size[0]/8, self.y, self.x + self.size[0]/8, self.top if self.text == 'OR' else self.pos[1], self.pos[0]

Подводя итог,

  • Почему self.pos [1], self.pos [0] заставляют мою строку исчезать
  • Почему 0 , 0, 0, 0 или self.pos [0], self.pos [1], self.pos [0], self.pos [1] не удаляют его
...