@Idwln

Как правильно реализовать несколько схожих кнопок, у которых отличается только некоторые параметры?

Так как я с Kivy только начал знакомиться, мне нужно чтобы мне кто то помог) У меня вопрос по поводу создания нескольких кнопок, которые отличаются лишь текстом допустим. Как мне это сделать?
Моя реализация просто создавать новые переменные, но понимаю что либо надо вынести в класс, либо на самом Kivy lang написать, но знаний не хватает.

Мой код:
bl.add_widget(Button(color=(0, 0, 0, 1),
                             halign='left',
                             valign='bottom',
                             padding_y=10,
                             background_color=(.93, .91, .67, 1),
                             background_normal='',
                             text='И. А. Гончаров. Обломов.'))
        bl.add_widget(Button(color=(0, 0, 0, 1),
                             halign='left',
                             valign='bottom',
                             padding_y=10,
                             background_color=(.93, .91, .67, 1),
                             font_size=14,
                             background_normal='',
                             text='Ф. М. Достоевский. Преступление и наказание.'))
  • Вопрос задан
  • 65 просмотров
Решения вопроса 1
Lord_of_Rings
@Lord_of_Rings
Python developer
На Kivy Lang
<MyButton@Button>:
    color: (0, 0, 0, 1),
    halign: 'left',
    valign: 'bottom',
    padding_y: 10,
    background_color: (.93, .91, .67, 1),
    background_normal: ''

Screen:
    MyButton:
        text: 'Гончаров'
    MyButton:
        text: 'Достоевский'


На Python
from kivy.uix.button import Button

class MyButton(Button):
    color=(0, 0, 0, 1)
    valign='bottom'
    padding_y=10
    background_color=(.93, .91, .67, 1)
    background_normal=''


И потом использовать
bl.add_widget(MyButton(text='И. А. Гончаров. Обломов.'))
bl.add_widget(MyButton(text='Ф. М. Достоевский. Преступление и наказание.'))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы