1

Тема: Як в Kivy реалізувати почерговий змінюючийся цикл рандомів?

Є віджет в KV (код із налаштуваннями розташування, формату тексту і т.д. спеціально прибрав звідси, щоб не заважав),який пропонує обрати кількість прикладів, які будуть після натискання кнопки (вона буде, суть питання не в цьому)


FloatLayout:
    size_hint: 1, 1

    Label:
        size_hint: 1, 1
        text: "Оберіть кількість завдань"

    Spinner:
        size_hint: .2, .1
        text: "НАТИСНІТЬ, ЩОБ ОБРАТИ"
        values: '10', '20', '30', '40'
        on_text:
            a = int(self.text)

Потрібно щоб після вибору кількості прикладів (10, 20, 30, 40) у наступному вікні (віджеті) з'являлись почергово приклади "РандомнеЧисло1 + РандомнеЧисло2 = Input (для відповіді)". Як тільки користувач в Input пише відповідь і натискає кнопку (наприклад "ДАЛІ") - попередній приклад має зникнути і на його місці з'явитися наступний. І так, в залежності від обраної раніше кількості прикладів.

Як це реалізувати? Бажано відповідь із кодом прикладу.

2

Re: Як в Kivy реалізувати почерговий змінюючийся цикл рандомів?

...натискає кнопку (наприклад "ДАЛІ") - попередній приклад має зникнути і на його місці з'явитися наступний

При натисканні кнопки "ДАЛІ" функція повинна видалити попередній віджет (remove_widget), після - генерує рандомні числа і інші операції. А в кінці функції додається цей самий віджет з новими даними.

3

Re: Як в Kivy реалізувати почерговий змінюючийся цикл рандомів?

А можна працюючий зразок коду для даного випадку?

Моя ідея, що вікно для циклу матиме вигляд

<UkrStart>:
    name: "ukrstart"

    FloatLayout:
        id: float_id
        size_hint: 1, 1


        Label:
            id: label_id
            size_hint: 1, 1
            pos_hint: {"center_x": .5, "y": .9}
            font_size: "24dp"
            text_size: self.size
            halign: "center"
            color: 1, .3, .4, .85
            text: root.str_num1


        Button:
            size_hint: 1, .1
            pos_hint: {"center_x": .5, "y": .1}
            font_size: 18
            background_normal: ''
            background_color: 1, .3, .4, .85
            text: "ДАЛІ"
            on_press: root.perevirka()

І хотілося, щоб кожне вікно (віджет) у циклі видавало результат, саме із збереженням властивостей які в Label.

У файлі *.py перепробував різні варіанти для def perevirka().

Накшталт self.ids.float_id.remove_widget(self.ids.label_id) 


Але в результаті або помилка, або результат видається без властивостей із Label (та ще й сам Label не видаляє).