Apr-12-2020, 01:43 PM
Hey guys, I'm pretty new at coding kivy and think one of you could help me with a simple solution. I want to include the variable named [show_text] into my [Label] , [text] at the [main.kv]. right now i get the Message:
BuilderException: Parser: File "C:\Users\Lukas\PycharmProjects\test_app\main.kv", line 57:
...
55: pos_hint: {"top": 1, "left": 2}
56: size_hint: 1, .7
>> 57: text: app.show_text
58: id: aufgaben_player
...
AttributeError: 'NoneType' object has no attribute 'bind'
Thanks for helping me!
main.py
BuilderException: Parser: File "C:\Users\Lukas\PycharmProjects\test_app\main.kv", line 57:
...
55: pos_hint: {"top": 1, "left": 2}
56: size_hint: 1, .7
>> 57: text: app.show_text
58: id: aufgaben_player
...
AttributeError: 'NoneType' object has no attribute 'bind'
Thanks for helping me!
main.py
from kivy.app import App from kivy.lang import Builder from kivy.uix.button import ButtonBehavior from kivy.uix.image import Image from kivy.uix.screenmanager import Screen, ScreenManager from kivy.properties import StringProperty, ObjectProperty import random from karten import * class WindowManager(ScreenManager): home_screen = ObjectProperty(None) game_text_screen = ObjectProperty(None) class ImageButton(ButtonBehavior, Image): pass class HomeScreen(Screen): pass class GameText(Screen): pass kv = Builder.load_file("main.kv") class MainApp(App): show_text = StringProperty() def build(self): return kv def show_game_text_first(self): show_text = Karten[random.randint(0, 2)] print(show_text) if __name__ == "__main__": MainApp().run()main.kv
#:import utils kivy.utils WindowManager: HomeScreen: name: "home_screen" FloatLayout: canvas: Color: rgb: utils.get_color_from_hex("#3983F2") Rectangle: size: self.size pos: self.pos Label: pos_hint: {"top": 0.7, "left": 1} size_hint: 1, .1 text: "Schere Stein Papier" font_size: min(root.height, root.width)/15 id: title_label GridLayout: rows: 1 pos_hint: {"top": .2, "left": 5} size_hint: 1, .1 ImageButton: source: "icons/weiter.png" on_press: self.source = "icons/weiterhell.png" on_release: self.source = "icons/weiter.png" app.root.current = "game_text_screen" app.show_game_text_first() GameText: name: "game_text_screen" FloatLayout: canvas: Color: rgb: utils.get_color_from_hex("#3983F2") Rectangle: size: self.size pos: self.pos Label: pos_hint: {"top": 1, "left": 1} size_hint: 1, .1 text: "Schere Stein Papier" font_size: min(root.height, root.width)/15 id: title_label Label: pos_hint: {"top": 1, "left": 2} size_hint: 1, .7 text: app.show_text id: aufgaben_player