在Kivy中使用Python和Kv打开下拉列表时出错

在Kivy中使用Python和Kv打开下拉列表时出错,python,kivy,Python,Kivy,我是新来的基维。在我的示例应用程序中单击按钮时,我试图打开一个下拉列表。单击按钮时,下拉列表不可见。我错在哪里?另外,关于kv和python代码之间交互的解释将非常有用 main.py class RootWidget(BoxLayout): pass class MenuBar(GridLayout): def __init__(self, *args, **kwargs): super(MenuBar, self).__init__(*args, **kw

我是新来的基维。在我的示例应用程序中单击按钮时,我试图打开一个下拉列表。单击按钮时,下拉列表不可见。我错在哪里?另外,关于kv和python代码之间交互的解释将非常有用

main.py

class RootWidget(BoxLayout):
    pass


class MenuBar(GridLayout):
    def __init__(self, *args, **kwargs):
        super(MenuBar, self).__init__(*args, **kwargs)
        self.newdropdown = NewDropDown()


class NewDropDown(DropDown):
    pass


class MyApp(App):
    def build(self):
        root = RootWidget()
        x1 = MenuBar()
        root.add_widget(x1)
        return root

if __name__ == '__main__':
    MyApp().run()
my.kv

<MenuBar>:
    rows: 1
    row_default_height: 35
    row_force_default: True
    col_default_width: 100
    col_force_default: True


    Button:
        text: "MenuTitle1"
        font_size: 13
        on_release: root.newdropdown.open
    Button:
        text: "MenuTitle2"
        font_size: 13
    Button:
        text: "MenuTitle3"
        font_size: 13


<NewDropDown>:
    GridLayout:
        cols: 1
        row_default_height: 35
        row_force_default: True

        Button:
            text: "Product"
        Button:
            text: "Item"
:
行数:1
行\默认\高度:35
行\强制\默认值:True
颜色默认宽度:100
col_force_默认值:True
按钮:
文本:“菜单1”
字体大小:13
发布时:root.newdropdown.open
按钮:
文本:“菜单项2”
字体大小:13
按钮:
文本:“菜单项3”
字体大小:13
:
网格布局:
科尔斯:1
行\默认\高度:35
行\强制\默认值:True
按钮:
正文:“产品”
按钮:
案文:“项目”

您的下拉列表永远不会作为子窗口小部件添加到任何其他窗口小部件中。如果您调用
self.add\u小部件(self.newdropdown)
创建下拉列表的位置,是否有帮助?如果我添加,默认情况下会显示下拉列表。当我点击任何小部件时,它就会消失。你的下拉列表永远不会作为子部件添加到任何其他小部件中。如果您调用
self.add\u小部件(self.newdropdown)
创建下拉列表的位置,是否有帮助?如果我添加,默认情况下会显示下拉列表。当我点击任何小部件时,它就会消失。