текст из TextField в аргументе функции.Kivy - PullRequest
0 голосов
/ 22 ноября 2018

У меня есть класс, у которого есть текстовое поле для генерации некоторого двоичного числа и текстовое поле для ответа пользователя в декабре, а также у меня есть всплывающее окно, чтобы показать, как считать ответ на запись.когда usr нажимает на кнопку «начать тест», он генерирует номер бина, а когда usr вызывает всплывающий аргумент функции, получается «» текст, без номеров бинов

KV.file

TestTwo класс:

MDRectangleFlatButton:
    text: "Start test"
    pos_hint: {'center_x': 0.5, 'center_y': 0.01}
    on_press:
        generate_2c.text = str(root.generate_number())
        root.set_timer(time_test2)

Там генерируется разряд бин.

это всплывающее окно:

<show_answ1>:
    test2: TestTwo()
    title: 'Перевод'
    size_hint: None, None
    size: 400,300
    TextInput:
        text:root.show_answ(str(root.test2.ids.generate_10c.text))

Py.file

TestTwo class

def generate_number(self,n=''):
    gen_n=random.randint(0,127)
    while gen_n > 0:
        y = str(gen_n % 2)
        n = y + n
        gen_n = int(gen_n / 2)
    return n

Всплывающий класс:

def show_answ(self,answ):
    dlina = len(answ)
    dig_dec = 0
    a=""
    for i in range(0, dlina):
        b = "%d + %d * 2^ %d\n" % (dig_dec, int(answ[i]), dlina - i - 1)

        dig_dec = chislo_dec + int(answ[i]) * (2 ** (dlina - i - 1))

        a=a+b
    a=a+"Result: %s" %dig_dec
    return a

run popup

if

<show_answ1>:
    test2: TestTwo()
    title: 'Перевод'
    size_hint: None, None
    size: 400,300
    TextInput:
        text:root.show_answ(str(10))

всплывающий текст:

0 + 1 * 2 ^ 1

2 + 0 * 2 ^ 0

Результат: 2

...