Источник - это свойство Button, и это строка, как вы указали. Вам нужен виджет внутри виджета, и это основной способ работы Киви. Так что просто добавьте изображение как есть. Немного позиционирования сделают все остальное.
Вы должны быть осторожны с позиционированием. Удостоверьтесь, что он в видимой части, и ничего не покрывает его. Я использую надпись после кнопки, потому что она имеет прозрачный цвет, чтобы вы могли экспериментировать с ним. Например, если ваше позиционирование неверно (попробуйте x:0 y:0
), вы можете увидеть кнопку, идущую в нижний левый угол в области этикеток.
Изображение Я использую это Kivy logo:
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.lang import Builder
Builder.load_string("""
<ButtonsApp>:
orientation: "vertical"
Button:
text: "B1"
Image:
source: 'kivy.png'
y: self.parent.y + self.parent.height - 250
x: self.parent.x
size: 250, 250
allow_stretch: True
Label:
text: "A label"
""")
class ButtonsApp(App, BoxLayout):
def build(self):
return self
if __name__ == "__main__":
ButtonsApp().run()
Просто к сведению allow_stretch делает не существует в Kivy 1.6 –