Кивы: недвижимость с фиксированной стоимостью - PullRequest
0 голосов
/ 22 мая 2018

Как мне получить фиксированный размер окна в один момент времени?(но это значение не изменится позже)

Я хотел бы добавить изображение:

Image:
    width: self.parent.width
    height: self.parent.height
    size_hint: None, None

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

Image:
    width: 800
    height: 800
    size_hint: None, None

Но я не могу получить текущие размеры окон таким образом, чтобы они оставались постоянными при последующем изменении масштаба окна.

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 22 мая 2018

Я могу думать только о том, чтобы сделать это за пределами вашего файла .kv.Точно, вы можете установить значения для любого инициируемого события, например, при нажатии кнопки или при запуске приложения, просто так:

from kivy.app import App
from kivy.lang import Builder
from kivy.core.window import Window


class Main(App):

    def build(self):
        base = Builder.load_file("main.kv")

        base.ids.img.width = Window.width
        base.ids.img.height = Window.height

        return base

В приведенном примере ширина и высота устанавливаются только один раз, когдасоздание приложения.В качестве альтернативы вы можете достичь того же поведения, переместив код в __init__ вашего класса и получить доступ к изображению в любое время, позвонив по номеру self.base.ids.img (при условии, что вы предоставите self.base).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...