Динамическое изменение размера изображения Kivy - PullRequest
0 голосов
/ 01 октября 2019

Мне бы хотелось, чтобы мое изображение изменяло размеры и изменяло положение, когда я настраивал размер окна. У меня было его изменение размера и положения, когда я настраивал ширину окна, но когда я сужал высоту, изображение не двигалось иначинает убегать с экрана.

Я прочитал несколько ответов по изменению размера здесь, но не могу понять их


FloatLayout:
        Image:
            pos_hint: {"x": 0.25, "y": 0.6}
            source: 'card.jpg'
            size_hint: 0.45, None
            size: self.texture_size[1]

1 Ответ

0 голосов
/ 01 октября 2019

Настройка ширины работает, потому что вы установили size_hint равным 0,45. Это условие используется для автоматического обновления фактической ширины изображения, когда FloatLayout изменяет ширину, а FloatLayout является корневым виджетом, поэтому его ширина автоматически отслеживает окно.

В отличие от этого, вы установили вертикальный size_hint равным None. Это явно означает, что не обновляет высоту при изменении высоты FloatLayout. Попробуйте вместо этого установить что-то вроде 0,5. Если это не то, что вам нужно, задайте другой вопрос о том, что вы хотите.

size: self.texture_size[1]

Это не сработает, поскольку size ожидает кортеж (ширина, высота), но self.texture_size[1] - этоодно значение с плавающей точкой. Я думаю, что это действительно приведет к сбою, это реальный пример?

Вы, вероятно, имели в виду height: self.texture_size[1], который устанавливает высоту изображения на фактическую высоту отображаемого изображения в пикселях. Но это явно не то, что вам нужно, поскольку вы хотите, чтобы его высота не была фиксированной, а вместо этого масштабировались с помощью окна.

...