我正在尝试使用 Python 和 kivy 构建一个应用程序。在我的 kv 文件中,我想创建一个可以被其他屏幕引用的自定义小部件 (MenuFloatLayout)。它基本上是每个屏幕上的菜单栏。此栏由几个切换按钮组成,如果您当前在此按钮链接到的屏幕上,这些按钮处于向下状态并禁用。
这被引用: state: "down" if root.manager.current == 'Screenname' else "normal"
问题是:root.manager.current 不再链接到通常的屏幕管理器,因为我的自定义小部件现在是根。
有解决办法吗?或者是否有更简单的方法将切换按钮状态链接到用户所在的屏幕?
我是编程和 Python 的新手,很高兴您能给我任何帮助或提示!谢谢!
Python文件:
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import Screen, ScreenManager
class StartWindow(Screen):
pass
class PortfolioOverview(Screen):
pass
class Portfolio(Screen):
pass
class Market(Screen):
pass
class Economics(Screen):
pass
class PortfolioTools(Screen):
pass
class WindowManager(ScreenManager):
pass
kv = Builder.load_file("vigiles.kv")
class VigilesApp(App):
def build(self):
return kv
if __name__ == "__main__":
VigilesApp().run()
目标是将我的自定义小部件链接回我的屏幕管理器,或者找到更简单的解决方案将切换按钮状态链接到当前屏幕。
AttributeError:“MenuFloatLayout”对象没有属性“manager”
holdtom
翻过高山走不出你
相关分类