我正在尝试创建一个在初始阶段将由2个窗口组成的应用程序。
第一个窗口(LoginScreen)是一个登录窗口,带有一个按钮,单击该按钮会将您带到第二个窗口。
第二个窗口(MapScreen)应该使用MapView小部件显示地图。
启动应用程序后,LoginScreen可以正常工作。
仅移动到MapScreen之后小部件。
代码
main.py
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import Screen
class LoginScreen(Screen):
pass
class MapScreen(Screen):
pass
GUI = Builder.load_file("main.kv")
class MainApp(App):
def build(self):
return GUI
def change_screen(self, screen_name):
screen_manager = self.root.ids['screen_manager']
# screen_manager.transition = WipeTransition()
screen_manager.current = screen_name
MainApp().run()
main.kv
#:include loginscreen.kv
#:include mapscreen.kv
GridLayout:
cols: 1
ScreenManager:
id: screen_manager
LoginScreen:
name: "login_screen"
id: login_screen
MapScreen:
name: "map_screen"
id: map_screen
loginscreen.kv
<LoginScreen>:
Button:
text: "Go to MapScreen"
on_press: app.change_screen("map_screen")
mapscreen.kv
#:import MapView kivy.garden.mapview.MapView
<MapScreen@MapView>:
lat: 52
lon: 21
zoom: 10
double_tap_zoom: True
on_lat:
print(self.lat)
on_lon:
print(self.lon)
MapMarkerPopup:
lat: 52
lon: 21
Button:
on_release:
root.center_on(52,21)
print(root.get_bbox())
问题有人知道我在哪里犯了错误以及如何纠正它?