I want to enable a Button from another Screen. However my code doesn't allow it. My method of changing a variable should work in normal python, right?, so why doesn't it work in kivy?
from kivy.app import App
from kivy.lang import Builder
from kivy.properties import BooleanProperty
from kivy.uix.screenmanager import Screen, ScreenManager
class Manager(ScreenManager):
pass
class Screen1(Screen):
is_enabled = BooleanProperty(False)
class Screen2(Screen):
def disable(self):
Screen1.is_enabled = True
print("is enabled")
kv = Builder.load_string("""
Manager:
Screen1:
name: 'screen1'
Screen2:
name: 'screen2'
<Screen1>
BoxLayout:
Button:
text: "test"
disabled: not root.is_enabled
Button:
text: "switch screens"
on_release:
app.root.current = "screen2"
<Screen2>
BoxLayout:
Button:
text: "switch screens"
on_release:
app.root.current = "screen1"
Button:
text: "enable other button"
on_release:
root.disable()
""")
source https://stackoverflow.com/questions/71876664/enable-button-from-another-screen
Comments
Post a Comment