【问题标题】:kivymd AttributeError: 'MDNavigationDrawer' object has no attribute 'toggle_state'kivymd AttributeError:“MDNavigationDrawer”对象没有属性“toggle_state”
【发布时间】:2021-04-03 19:47:42
【问题描述】:

示例代码似乎有点过时,例如我不得不用“MDNavigationLayout”替换“NavigationLayout”。

我正在使用从github下载的最新kivymd

这是我找到的simplest example,但example code here 有同样的问题:

from kivymd.app import MDApp
from kivy.lang import Builder
from kivy.core.window import Window



Window.size = (300, 500)

navigation_helper = """
Screen:
    MDNavigationLayout:
        ScreenManager:
            Screen:
                BoxLayout:
                    orientation: 'vertical'
                    MDToolbar:
                        title: "Navigation Drawer"
                        elevation: 10
                        left_action_items: [['menu', lambda x: nav_drawer.toggle_nav_drawer()]]
                    Widget:
        MDNavigationDrawer:
            id: nav_drawer
"""


class DemoApp(MDApp):

    def build(self):
        screen = Builder.load_string(navigation_helper)
        return screen


DemoApp().run()

【问题讨论】:

    标签: python-3.x kivymd


    【解决方案1】:

    替换

    #left_action_items: [['menu', lambda x: nav_drawer.toggle_nav_drawer()]]
    

    与

    left_action_items: [['menu', lambda x: nav_drawer.set_state('toggle')]]
    

    似乎有效

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-18
      • 2021-06-22
      • 1970-01-01
      • 1970-01-01
      • 2012-12-01
      • 2021-04-19
      • 2021-11-22
      • 1970-01-01
      相关资源
      最近更新 更多