#kivy
#киви
Вопрос:
я нуб на киви, у меня есть БокСлайут:
root = BoxLayout(orientation = "horizontal", padding = 1,background_color = [0, 1, 0, 1])
У него очень ужасный фон (по умолчанию) как я могу установить свой цвет на фоне? я могу это понять
Ответ №1:
Сделав это, вы получите a TypeError
, так как класс BoxLayout
не имеет background_color
свойства.
В kivy вы можете достаточно свободно создавать свое собственное графическое представление виджета. Для этого вам необходимо создать подкласс, наследующий от BoxLayout
с требуемым свойством.
Ниже приведен пример примера, реализованного с помощью kivy lang, но вы можете сделать это на python также с некоторой привязкой (это будет немного подробным).
from kivy.app import App from kivy.lang import Builder from kivy.properties import ColorProperty from kivy.uix.boxlayout import BoxLayout Builder.load_string( """ lt;CustomRootgt;: canvas: Color: rgba: root.background_color Rectangle: pos: self.pos size: self.size """) class CustomRoot(BoxLayout): background_color = ColorProperty() # The ListProperty will also work. class MyApp(App): def build(self): return CustomRoot(background_color = (1, 0, 1, 1)) MyApp().run()
Для получения дополнительной информации ознакомьтесь с документацией kivy.