Мой файл Py:
from kivymd.app import MDApp
from kivymd.theming import ThemeManager
from kivy.app import App
from kivy.uix.video import Video
class MainApp(MDApp):
def on_start(self):
# Set colors
self.theme_cls = ThemeManager()
MainApp().run()
Итак, это мой настраиваемый виджет:
<PagesButton@MDRectangleFlatButton>
canvas:
Color:
rgba: 0, 0, 0, 1
Line:
width: 4
ellipse: (self.x, self.y, 120, 120)
BoxLayout:
size_hint: None, None
#pos_hint: {'center': .5, 'top': .5}
width: 70
height: 45
Image:
size_hint: None, None
size: 60, 60
keep_ratio: False
allow_stretch: True
и вот экземпляр указанного виджета, который я пытаюсь использовать,
GridLayout:
cols: 10
rows: 1
size_hint_y: None
height: 150
spacing: 60
padding: 20, 60, 20, 0
MDRectangleFlatButton:
canvas:
Color:
rgba: 0, 0, 0, 1
Line:
width: 4
ellipse: (self.x, self.y, 120, 120)
BoxLayout:
size_hint: None, None
#pos_hint: {'center': .5, 'top': .5}
width: 30
height: 25
Image:
source: "Nav_icons/Events.png"
size_hint: None, None
size: 60, 60
keep_ratio: False
allow_stretch: True
#pos_hint: {'left': .5, 'top': 1.1}
PagesButton:
text: 'hey'
Теперь, как я это понимаю ....
если я использую специальный класс Dynami c внутри своего кода, если он еще не имеет всех других свойств, которые я написал, когда я изначально определил класс?
В этом текущем примере, когда я пишу PagesButton, я получаю только обычную прямоугольную кнопку с текстом «привет» посередине. Все остальное, что я написал в PagesButton@MDRectangleFlatButton, полностью игнорируется.
My intention is to define a broad view class with all of the property definitions, and then use instances of this class over and over, with slight tweaks each time, such as a new image with new source, yet everything else in the broad class would still appear. In this example, i should be getting a stroked, circular button every single time i use the class, with a new image inside. I expect changes only if i define a new rule to that specific property each instance, otherwise, everything should be visually constant and consistent.
Is this not how its supposed to work? Or am I doing something wrong?
введите описание изображения здесь