• Какие можете посоветовать уроки или учебники по 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 и подзабыл немного .
    Надеюсь вам это поможет ,сам только новичок
    Ответ написан
    Комментировать
  • Я пишу программу в пэйтоне и выдаёт ошибку что делать?

    20PYTHON20
    @20PYTHON20
    Мне кажется через функцию было бы удобнее к примеру
    import time as t
    operation = {
    '+' : 'сложение'
    '/' : 'деление'
    }
    result = 0 
    cont1,cont2 = 0,0
    def menu () :
        global result,cont1,cont2
        try :
            quess = int(input ('Выберете операцию'))
            print(f"1. {operation['+']}")
            print(f"2. {operation['/']}")
    
            if not quess == 1 or not quess == 2 :
                return menu()
            '''Add'''
            elif quees == 1 :
                cont = int(input("Введите первое число"))
                cont = cont1 
                cont = int(input("Введите второе число"))
                сont = cont2
                result = float(cont1 + cont2)
        except ValueError :
            print("Отсутствие числа")
            t.sleep(2)
            return menu()
        finally :
            if quees == 1 :
                print(f" {cont1} + {cont2} = {result}")

    Можете попробывать так,хотите через аргументы функций,через класс — ваш выбор.
    Аналогично для следующих операций за исключением деления (division) .По скольку на 0 делить нельзя вам нужно будет создать дополнительное условие :
    '''В строчке цепи деления'''
    if cont2 == 0 :
        print("Делить на ноль нельзя!")
        t.sleep(2)
        return menu()

    Вроде все правильно написал)))
    Ответ написан
    Комментировать