Python和Kivy-显示/隐藏框

时间:2019-02-13 08:26:30

标签: python input kivy screen textinput

我构建了一个正在拍照的应用程序,然后转到另一个空白屏幕并在后台运行我的主要代码。我想在我的主代码处于1st if条件时在空白屏幕上显示一个文本输入框;并在代码处于第二个条件(如果有条件)时隐藏该框。我的代码在下面。我写“ 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()

虽然我正在运行此程序,但即使我在某些情况下将“真”更改为“假”,应用也会始终显示文本输入。我的问题在哪里?

1 个答案:

答案 0 :(得分:0)

您的BooleanProperty需要在类级别定义:

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

根据需要使用TrueFalse。然后在您的代码中仅引用self.isShownMenu,例如:

    if(BLABLABLA)
        self.isShownMenu = True
    else
        self.isShownMenu = False
相关问题