imports:
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.properties import StringProperty
from kivy.properties import ObjectProperty
from kivy.uix.label import Label
from kivy.core.window import Window
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.uix.boxlayout import BoxLayout
from kivy_garden.mapview import MapView, MapMarker
kv = '''
<Login>
name:'Login'
ben: benName.text
pw: passwort.text
knopf: btn
knopff: btnn
GridLayout:
cols: 1
size: root.width,root.height
GridLayout:
cols: 2
Label:
text: "Username"
font_size: 25
TextInput:
id: benName
multiline: False
font_size: 30
Label:
text: "Password"
font_size: 25
bold: True
TextInput:
password: True
id: passwort
multiline: False
font_size: 40
Button:
size_hint: (1.,1.10)
text:" Start "
id: btn
font_size: 40
on_release:
root.manager.current = "Map" if passwort.text == "1" and benName.text == "1" else "Login"
root.manager.transition.direction = "down"
Button:
size_hint: (1.,1.10)
text: " Exit "
id: btnn
font_size: 40
on_release: app.stop()
<Map>:
#:import MapSource kivy_garden.mapview.MapSource
<Toolbar@BoxLayout>:
size_hint_y: None
height: '48dp'
padding: '4dp'
spacing: '4dp'
canvas:
Color:
rgba: .2, .2, .2, .6
Rectangle:
pos: self.pos
size: self.size
<ShadedLabel@Label>:
size: self.texture_size
canvas.before:
Color:
rgba: .2, .2, .2, .6
Rectangle:
pos: self.pos
size: self.size
RelativeLayout:
MapView:
id: mapview
lat: 50.6394
lon: 3.057
zoom: 8
#size_hint: .5, .5
#pos_hint: {"x": .25, "y": .25}
#on_map_relocated: mapview2.sync_to(self)
#on_map_relocated: mapview3.sync_to(self)
MapMarker:
lat: 50.6394
lon: 3.057
MapMarker
lat: -33.867
lon: 151.206
Toolbar:
Label:
text: "Lon: {}".format(mapview.lon)
Label:
text: "Lat: {}".format(mapview.lat)
'''
MyApp
class:
class Login(Screen):
ben = StringProperty()
pw = StringProperty()
knopf = ObjectProperty()
class MyApp(App):
Builder.load_string(kv)
def build(self):
ms = ScreenManager()
ms.add_widget(Login(name='Login'))
ms.add_widget(Map(name='Map'))
self.title = "MyApp"
return ms
class Map(Screen):
pass
if __name__ == '__main__':
MyApp().run()
Error:
ERORR raise ParserException(self, ln,
kivy.lang.parser.ParserException: Parser: File "<inline>", line 50:
...
48:<Map>:
49: #:import MapSource kivy_garden.mapview.MapSource
>> 50: <Toolbar@BoxLayout>:
51: size_hint_y: None
52: height: '48dp'
...
Invalid property name
[Finished in 2.0s with exit code 1]
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…