Задать вопрос
@Andrei1penguin1

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

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

Но беда в том, что у виджета такой функции (update) нет, она есть только у LAYOUTов
Подскажите пожалуйста, как можно получить фактические размеры виджетов, а не размеры, установленные по умолчанию?
  • Вопрос задан
  • 284 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 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()
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
SpectrumData Екатеринбург
от 200 000 до 300 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
18 янв. 2025, в 07:20
50000 руб./за проект
18 янв. 2025, в 03:12
1000 руб./за проект
18 янв. 2025, в 00:01
500 руб./за проект