#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