Ответы пользователя по тегу Kivy
  • Какие можете посоветовать уроки или учебники по Kivy на Python?

    20PYTHON20
    @20PYTHON20
    На официальном сайте kivy
    Ответ написан
    Комментировать
  • Как изменить label при нажатии кнопки в .kv файле?

    20PYTHON20
    @20PYTHON20
    Обьяви переменные на уровне класса и дай им свойство ObjectProperty(None) для всех виджетов ,далее через функцию напиши метод изменения цвета , и в кv файле дай команду кнопке
    Ответ написан
    Комментировать
  • Как изменить фон в python kivy?

    20PYTHON20
    @20PYTHON20
    Через canvas (холст) смотри официальную документацию,либо через виджет Image
    Ответ написан
    Комментировать
  • Как сделать в python kivy, чтобы при нажатии на кнопки появлялись совсем другие кнопки?

    20PYTHON20
    @20PYTHON20
    Создаешь в классе функцию что то типа,прописываешь там кнопки количество которое тебе будет нужно
    Далее в главной кнопке ,с которой будут открываться другие пишешь следущее :
    button_open.bind  (on_press = *название функции без звездочек )

    При её нажатии появятся кнопки .
    *файл MyApp.py
    from kivy.app import App
    from kivy.uix.button import Button
    from kivy.uix.boxlayout import BoxLayout
    from kivy.uix.screenmanager import ScreenManager , Screen
    
    class MenuScreen(Screen) :
        def __init__(self,**kwargs) :
            super(MenuScreen,self).__init__(**kwargs)
            self.fl = BoxLayout(orientation = "vertical")
            #Кнопка на которую нужно нажать 
            self.but_open = Button (text = "нажми на меня",size_hint = (None,None) ,size = (600,40),pos = (20,50),on_press = self.ButtonOpen)
            self.fl.add_widget(self.but_open)
    
         def ButtonOpen(self) :
             self.but_open1 = Button (text = "кнопка1",size_hint = (None,None) ,size = (600,40),pos = (20,100))
             self.but_open2 = Button (text = "Не жми на меня",size_hint = (None,None) ,size = (600,40),pos = (20,150))
             self.fl.add_widget(self.but_open1)
             #Аналогично пишем сюда и другие кнопки
    
    class MyApp() :
        def build(self):
            manager = ScreenManager()
        	manager.add_widget(MenuScreen(name = 'menu'))
        	return manager
    
    if __name__ == '__main__' :
        MyApp().run()

    *Примечание :
    Если выдаст ошибку в функции попробуйте в выражении
    on_press = ( self.ButtonOpen())
    Пишу в основном через kv lang и подзабыл немного .
    Надеюсь вам это поможет ,сам только новичок
    Ответ написан
    Комментировать