Я использую kivy и пытаюсь создать программу, которая поможет мне запомнить преобразования супер-саян. Я хотел, чтобы кнопки были картинками вместо слов. Вот код, который я использовал, чтобы сделать кнопку изображением:
self.Goku = Button(background_normal = '106-1060675_goku-base-form-png-clipart (1).png')
self.Goku.bind(on_press = self.SonGoku)
self.add_widget(self.Goku)
Когда я запустил код, чтобы увидеть, как он выглядит, я увидел, что одна картинка была большой, а другая - маленькой. Поэтому я попытался изменить размер изображения, добавив size = ("10, 10"), но это не сработало. Я попытался сделать то же самое с size_hint, но результат был тот же. Ничего не двигалось. Я просмотрел некоторые документы о кнопке и добавлении картинок в kivy, но это не сильно помогло. Вот весь код:
import kivy
from kivy.app import App
from kivy.graphics import *
from kivy.uix.label import Label
from kivy.uix.image import Image
from kivy.uix.button import Button
from kivy.uix.widget import Widget
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.gridlayout import GridLayout
class main(GridLayout):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.cols = 4
self.Goku = Button(background_normal = '106-1060675_goku-base-form-png-clipart (1).png', size_hint = (1, 0.5))
self.Goku.bind(on_press = self.SonGoku)
self.add_widget(self.Goku)
self.Vegeta = Button(background_normal = 'vegeta-png-clip-art.png', size_hint = (1, 1))
self.Vegeta.bind(on_press = self.PrinceVegeta)
self.add_widget(self.Vegeta)
def SonGoku(self, instance):
self.cols = 1
self.remove_widget(self.Goku)
self.remove_widget(self.Vegeta)
self.NormalGoku = Button(text = "Base form")
self.add_widget(self.NormalGoku)
self.SSJGoku = Button(text = "Super saiyan")
self.add_widget(self.SSJGoku)
self.SSJ2Goku = Button(text = "Super saiyan 2")
self.add_widget(self.SSJ2Goku)
def PrinceVegeta(self, instance):
self.cols = 1
self.remove_widget(self.Goku)
self.remove_widget(self.Vegeta)
self.NormalVegeta = Button(text = "Base form")
self.add_widget(self.NormalVegeta)
self.SSJVegeta = Button(text = "Super saiyan")
self.add_widget(self.SSJVegeta)
self.SSJ2Vegeta = Button(text = "Super saiyan 2")
self.add_widget(self.SSJ2Vegeta)
class Saiyan(App):
def build(self):
return main()
if __name__ == "__main__":
Saiyan().run()
Помощь будет принята с благодарностью. Не стесняйтесь задавать любые вопросы. Заранее спасибо.