Я пытаюсь поставить данные изображения в GridLayout, который может прокручивать, и когда я выбрать картинку под цвет изменения изображения, вот мой код:Kivy - Добавить виджет (сплиттер) в GridLayout
CONTAINER_PNG = os.path.join(AllImage_ROOT, 'images')
IMAGES_NAMES = [c[:-4] for c in os.listdir(CONTAINER_PNG)]
LIST_IM = os.listdir(CONTAINER_PNG)
class ImageButton(ButtonBehavior, Image):
pass
класс AllImage (BoxLayout):
# screen_manager = ObjectProperty()
def __init__(self, **kwargs):
BoxLayout.__init__(self, **kwargs)
self.orientation='vertical'
splitter = Splitter(sizable_from = 'bottom')
root = ScrollView()
layout = GridLayout(cols=4, spacing=10)
layout2 = GridLayout(cols=4, spacing=10)
button = ImageButton(source = 'mix.png')
layout2.add_widget(button)
self.add_widget(layout2)
for im in IMAGES_NAMES:
if IMAGES_NAMES != None :
btn = ImageButton(source = im+'.png')
btn.bind(on_press= lambda a:layout.add_widget(ToggleButton(text = 'work')))
btn.bind(on_press= lambda b:self.background_color(1,1,1))
layout.add_widget(btn)
layout2.add_widget(splitter)
root.add_widget(layout)
self.add_widget(root)
класс TryApp (App):
def build(self):
return AllImage()
def on_pause(self):
return True
if __name__ == "__main__":
TryApp().run()
Я знаю, что я делаю что-то неправильно, так У меня есть несколько вопросов:
1- Почему когда я добавить Splitter между моими 2 Сетки он не работает (сплиттер не видно)
2- Как я могу изменить цвет моего ImageButton?
3- Прокрутка не работает на моем GridLayout, как я могу настроить свою сетку, которая может быть больше, чем мое окно.
Спасибо за ваше время :)
Вы ответили один из моих вопросов, спасибо !! Однако, что касается цвета фона, проблема в том, что я не могу изменить цвет, цвет фона класса, который я создал ImageButton. У вас есть идея, как я могу это сделать? Потому что 'self.background_color (1,1,1)' не работает. Thanks –
Вы уже используете изображение, и я не думаю, что вы можете изменить цвет фона, я считаю его лучшим, если вы реализуете background_normal и свойство background_down кнопки, в которой вы можете использовать изображение для реализации –
, вы уже используете изображение, и я не думаю, что вы можете изменить цвет фона, я считаю его лучшим, если вы реализуете background_normal и свойство background_down кнопки , который вы можете использовать для реализации изображения –