python kivy использует pos_hint для изображения

#python #kivy

#python #kivy

Вопрос:

Я пытаюсь расположить изображение в правом нижнем углу экрана с помощью pos_hint, но оно всегда оставляет зазор между нижней частью изображения и экраном, я все еще новичок в kivy и искал решение, но не могу найти ничего, что помогло бы, заранее спасибо

 class Building(Image):
def __init__(self, **kwargs):
    super().__init__(**kwargs)
    self.source = 'Building.png'
    self.size_hint = 0.4,1
    self.pos_hint = {'x':0.7, 'y':0.1}

 

Вот где я это называю

 self.build = Building()
self.add_widget(self.build)
 

Это ссылка на то, как это выглядит

Ответ №1:

Есть две проблемы, которые могут быть причиной разрыва. Во-первых, ваш код:

 self.pos_hint = {'x':0.7, 'y':0.1}
 

устанавливает зазор в одну десятую высоты контейнера.

Вторая проблема заключается в том Image , что по умолчанию не будет растягивать базовое изображение и не будет искажать изображение (растягивая больше в одном направлении, чем в другом). Итак, вы можете получить то, что хотите, изменив свой Building класс следующим образом:

 class Building(Image):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        self.source = 'Building.png'
        self.size_hint = 0.4,1
        self.pos_hint = {'right':1.0, 'y':0}   # position image at right, bottom
        self.allow_stretch = True  # allow image to be stretched
        self.keep_ratio = False  # allow distortion