【发布时间】:2013-03-28 08:26:27
【问题描述】:
我正在尝试制作一个主菜单,让我在单击按钮时切换屏幕,但我不知道如何从按钮中引用管理器。
我有一个主菜单页面的设置(在 kv 文件中):
<MainMenu>: #AnchorLayout
BoxLayout:
Button:
text: "button 1"
Button:
text: "change screen"
on_release: root.manager.current = "OtherPage"
<MainWidget>:
screen_manger: screen_manager
ScreenManger:
id: screen_manger
Screen:
name: "MainMenu"
MainMenu
Screen:
name: "OtherPage"
OtherPage #this is defined in the kv file, just lazy to type it.
当我点击按钮 Change Screen 时,我得到:
AttributeError: 'MainMenu' object has no attribute 'manager'
老实说,这并不让我感到惊讶。我想我可以通过在 python 代码中编写所有布局并在BoxLayout 或MainMenu 小部件中添加对屏幕管理器的引用来解决这个问题,但我不知道如何在 kv 文件中执行此操作。
【问题讨论】:
标签: python user-interface kivy