Python & Kivy - Показать / Скрыть Коробку - PullRequest
0 голосов
/ 13 февраля 2019

Я создал приложение, которое фотографирует, переходит на другой пустой экран и запускает мой основной код на заднем плане.Я хочу показать текстовое поле ввода на пустом экране, когда мой основной код находится в своем 1-м состоянии;и скрыть поле, пока код находится во 2-м, если условие.Мой код ниже.Я написал «blablabla» для ненужных длинных вещей для моего вопроса.

class CheckScreen(Screen):
    def deneme(self):

    #MY MAIN CODE
    #...

        if(BLABLABLA)
            self.isShownMenu = BooleanProperty(True)
        else
            self.isShownMenu = BooleanProperty(False)

GUI = Builder.load_string("""

#BLABLABLA1
#...

<SingleLineTextInput@TextInput>:
    pos_hint: {'center_x': .5, 'center_y': .4}
    size_hint: 0.5, 0.05
    multiline: False
<CheckScreen>:

    #BLABLABLA2
    #...

    SingleLineTextInput:
        opacity: 1 if root.isShownMenu else 0
""")

class TestCamera(App):

def build(self):
    return GUI

TestCamera().run()

Пока я запускаю это приложение, всегда отображается текстовый ввод, даже если я изменяю True на False в условиях.Где моя проблема?

1 Ответ

0 голосов
/ 13 февраля 2019

Ваш BooleanProperty должен быть определен на уровне класса:

class CheckScreen(Screen):
    isShownMenu = BooleanProperty(True)

Используйте True или False по желанию.Тогда в вашем коде просто ссылка self.isShownMenu, например:

    if(BLABLABLA)
        self.isShownMenu = True
    else
        self.isShownMenu = False
...