Задать вопрос
@Ander813

Как изменить фон widget'а в kivy?

В примерах дается нечто подобное, но что мне делать если я не указываю точное положение виджетов.
from kivy.graphics import *
with self.canvas:
    # Add a red color
    Color(1., 0, 0)

    # Add a rectangle
    Rectangle(pos=(10, 10), size=(500, 500))

Когда пробою использовать это:
with logo_background.canvas:
            Color(.29, .46, .66, 1)
            Rectangle(pos = logo_background.pos, size = logo_background.size)

он просто создает квадратик 100 на 100 в левом углу.
  • Вопрос задан
  • 1990 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@Ander813 Автор вопроса
Нашел как по мне очень костыльное решение
class LogoBackground(Label):
    def on_size(self, *args):
        self.canvas.before.clear()
        with self.canvas.before:
            Color(.29, .46, .66, 1)
            Rectangle(pos=self.pos, size=self.size)

logo = LogoBackground(text = "text", size_hint = (1, .05))

при этом, по идее, такой же вариант не работает(создает квадратик 100 на 100)
logo = Label(text = "Text", size_hint = (1, .05))
with logo.canvas.before:
    Color(.29, .46, .66, 1)
    Rectangle(pos=logo.pos, size=logo.size)

Может кто сможет обьяснить почему именно так или как сделать это менее убого.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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