Установить виджет по умолчанию при создании составного виджета - PullRequest
0 голосов
/ 27 августа 2018

Я изучаю Kivy и сейчас работаю над своим первым приложением.Я сделал новый виджет PicButton из виджета Image и миксин ButtonBehavior примерно так:

from __future__ import print_function

class PicButton(ButtonBehavior, Image):

    def on_press(self):
        print("Pressed")

    def on_release(self):
        print("Released")

Теперь для всех случаев PicButton я хочу переменную allow_stretchустановите True, а переменную keep_ratio установите False.Я попытался перегрузить конструктор, чтобы выполнить это,

def __init__(self):
    return super(Image, self).__init__(allow_stretch=True, keep_ratio=False, **kwargs)

, но это не работает.Возможна ли перегрузка константы одного из моих импортированных классов?

1 Ответ

0 голосов
/ 27 августа 2018

Проще перегрузить свойства в любом используемом вами файле .kv.Вот так:

<PicButton>
    allow_stretch: True
    keep_ratio: False

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

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