如何在kivy / python中创建下拉列表?

时间:2019-11-12 05:07:40

标签: python kivy kivy-language

我想用基维创建一个DropDown列表吗?我参考了文档,其中将用于打开Button列表的主要DropDown小部件添加到python文件本身中。但是,我想在相关的.kv文件中而不是在python文件中添加主Button小部件。

我的代码如下:

tut10.py

from kivy.app import App
from kivy.uix.dropdown import DropDown
from kivy.uix.gridlayout import GridLayout
from kivy.lang import Builder

class drop_content(DropDown):
    pass

class Grid_5(GridLayout):
    drop = drop_content()

    def show_drop(self):
        self.drop.open()

class Demo_9(App):   

    def build(self):
        return Builder.load_file("kv\Design8.kv")

if __name__ == "__main__":
    Demo_9().run()    

Design8.kv

<drop_content>:

    Label:
        text:"Drop1"
        size_hint_y: None
        height: 44

    Label:
        text:"Drop2"
        size_hint_y: None
        height: 44

Grid_5:    
    cols: 1

    Button:
        text: "Press me !!"
        size_hint: None, None
        on_press: root.show_drop()

我得到的错误是:

  
    

文件“ c:/ Users / pavan m sunder / tutorials / Kivy / py / tut10.py”,第19行,在show_drop中          self.drop.open()

         

TypeError:open()缺少1个必需的位置参数:“ widget”

  

1 个答案:

答案 0 :(得分:0)

请发布您的完整堆栈跟踪。代码的哪一部分产生了错误?