Python & Kivy - 显示/隐藏框
Posted
技术标签:
【中文标题】Python & Kivy - 显示/隐藏框【英文标题】:Python & Kivy - Show / Hide Box 【发布时间】:2019-07-07 00:18:43 【问题描述】:我构建了一个应用程序,它正在拍照并转到另一个空白屏幕并在后台运行我的主要代码。当我的主代码处于第一个 if 条件时,我想在空屏幕中显示一个文本输入框;并在代码处于第二个 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()
当我运行它时,即使我在条件下将 True 更改为 False,应用程序也会始终显示文本输入。我的问题在哪里?
【问题讨论】:
您是否检查过if - else
条件是否有效?您是否尝试在每个条件中添加一些 print
语句?
是的,我很确定,因为我的主要代码在没有应用程序的情况下也可以工作
尝试将 self.isShownMenu = BooleanProperty(True)
更改为 self.isShownMenu = True
,同样为 False
【参考方案1】:
您的 BooleanProperty 需要在类级别定义:
class CheckScreen(Screen):
isShownMenu = BooleanProperty(True)
根据需要使用True
或False
。然后在您的代码中仅引用self.isShownMenu
,例如:
if(BLABLABLA)
self.isShownMenu = True
else
self.isShownMenu = False
【讨论】:
以上是关于Python & Kivy - 显示/隐藏框的主要内容,如果未能解决你的问题,请参考以下文章