@Andrei1penguin1

Как получить фактические размеры виджета kivy?

Доброго времени суток, столкнулся с такой проблемой, что при вызове self.size у виджета возвращается результат 100,100
Нагуглил, что это происходит из-за того, что размеры по умолчанию не меняются, а чтобы они менялись, можно прописывать что-то вроде:
def __init__(self):
    super().__init__()
    self.bind(size=self.update)

Но беда в том, что у виджета такой функции (update) нет, она есть только у LAYOUTов
Подскажите пожалуйста, как можно получить фактические размеры виджетов, а не размеры, установленные по умолчанию?
  • Вопрос задан
  • 279 просмотров
Пригласить эксперта
Ответы на вопрос 1
@alexbprofit
Junior SE
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.layout import Layout

kv = '''
<Foo>:
    on_touch_down: print(self.size)
'''
Builder.load_string(kv)

class Foo(Layout):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        print (self.size)

class MyApp(App):
    def build(self):
        return Foo()

MyApp().run()
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы