• Как пользоваться screen manager в KivyMD?

    @SashaN69 Автор вопроса
    dadasay, kv файл
    from kivy.lang import Builder

    Builder.load_string("""
    :
    GridLayout:
    first: text_mass
    second: text_heigth
    third: label
    fourth: labels
    rows: 5
    padding: 30
    spacing: 5

    MDLabel:
    id: label
    size_hint: 1, 0.4
    font_name: "data/fonts/RobotoMono-Regular.ttf"
    text: 'Веддите данные'
    font_size: '30sp'

    MDLabel:
    id: labels
    font_name: "data/fonts/RobotoMono-Regular.ttf"
    text: '----------'
    size_hint: 1, 0.2
    font_size: '24sp'

    MDTextField:
    id: text_mass
    hint_text: 'Введите рост'
    size_hint: 1, 0.2
    multiline: False
    font_size: '20sp'

    MDTextField:
    id: text_heigth
    hint_text: 'Введите вес'
    size_hint: 1, 0.2
    multiline: False
    font_size: '20sp'

    FloatLayout:

    MDFillRoundFlatButton:
    size_hint: 0.8, 0.22
    font_size: '30sp'
    background_color: .73, .05, .05, 1
    font_name: "data/fonts/RobotoMono-Regular.ttf"
    pos_hint: {'center_x': 0.5, 'y': 0.5}
    text: 'Расчитать'

    on_release:
    root.calculate()

    MDFillRoundFlatButton:
    size_hint: 0.8, 0.2
    spacing:
    background_color: .73, .05, .05, 1
    font_size: '30sp'
    font_name: "data/fonts/RobotoMono-Regular.ttf"
    pos_hint: {'center_x': 0.5, 'y': 0.28}
    text: 'Настройки'

    on_release:
    """)
  • Как пользоваться screen manager в KivyMD?

    @SashaN69 Автор вопроса
    from kivymd.app import MDApp
    from kivy.lang import Builder
    from kivy.uix.screenmanager import ScreenManager, Screen
    import kod
    def human_index(m, h):
        hindex = str(round(m / (h * h), 1) )
    
        return {'hindex': hindex}
    
    class MenuScreen(Screen):
    
        def calculate(self):
            try:
                mass = float(self.second.text)
                heigth = float(self.first.text)
    
                human_i = human_index(mass, heigth)
    
                gets = human_i.get('hindex')
    
                self.third.text = "Ваш результат: " + str(gets)
                self.first.text = ""
                self.second.text = ""
    
                if 16.5 > float(gets):
                    self.fourth.text = "Крайний недостаток веса"
                elif  16.5 < float(gets)  < 18.4:
                    self.fourth.text = "Недостаток веса"
                elif  18.5 < float(gets)  < 24.9:
                    self.fourth.text = "Нормальный вес"
                elif  25 < float(gets)  < 30:
                    self.fourth.text = "Избыточная масса"
                elif  30.01 < float(gets)  < 34.9:
                    self.fourth.text = "Ожирение(Клас I)"
                elif  35 < float(gets)  < 40:
                    self.fourth.text = "Ожирение(Клас II)"
                elif  40 < float(gets) < 70:
                    self.fourth.text = "Ожирение(Клас III)"
                elif  71 < float(gets):
                    self.fourth.text = "А ты шутник"
    
            except:
                self.third.text = "Вы не ввели число"
                self.first.text = ""
                self.second.text = ""
                self.fourth.text = "----------"
    
    
    class SettingsScreen(Screen):
        pass
    sm = ScreenManager()
    sm.add_widget(SettingsScreen(name='settings'))
    sm.add_widget(MenuScreen(name='menu'))
    class Myapp(MDApp):
        def __init__(self, **kwargs):
            self.title = "My app"
            super().__init__(**kwargs)
        def build(self):
            return sm
    
    
    
    
    
    if __name__ == "__main__":
        Myapp().run()
  • Как пользоваться screen manager в KivyMD?

    @SashaN69 Автор вопроса
    ValueError: KivyMD: App object must be initialized before loading root widget
  • Как пользоваться screen manager в KivyMD?

    @SashaN69 Автор вопроса
    В простом kivy всё нормально работает,а в kivymd ошибка
  • MySQL python kivy, почему ошибка?

    @SashaN69 Автор вопроса
    Пароль точно верный!
  • Как запросить ввод от пользователя в ТГ боте?

    @SashaN69 Автор вопроса
    elif message.text == 'Текст кнопки':
    try:
    numb = int(message.text)
    db.update_res(numb)
    bot.send_message(message.chat.id, 'Send')
    except:
    bot.send_message(message.chat.id, "error")

    Если пользователь отправит данные и нажмёт на кнопку то message.text будет равен названию кнопки ,а не данным пользователя