【问题标题】:kivy dropdown items overlayed on buttonkivy 下拉项目覆盖在按钮上
【发布时间】:2017-12-07 02:49:45
【问题描述】:

我的按钮显示在下拉菜单的顶部,它们是我的屏幕加载时的一部分。希望他们不要那样做。图片如下。

kv 文件:

<MainScreen>:
BoxLayout:
    id: menu_layout
    on_parent: root.class_level_list_generator()
    Button:
        id: btn_class_dropdown
        text: 'Select a class...'
        size_hint: (.25, .25)
        on_release: dd_class.open(self)
        DropDown:
            id: dd_class
    Button:
        id: btn_level_dropdown
        text: 'Select a level...'
        size_hint: (.25, .25)
        on_release: dd_level.open(self)
        DropDown:
            id: dd_level
    Button:
        id: btn_manager
        text: 'Manage'
        size_hint: (.25, .25)
        on_release: root.f_btn_manager()
    Button:
        id: btn_exit
        text: 'Exit'
        size_hint: (.25, .25)
        on_release: app.stop()

python 向下拉列表中添加按钮:

for l in levels:
# manually specify button height and label it by level number
   btn = Button(text=str(l), size_hint_y=None, height=50)
   # update button text with that of selection
   btn.bind(on_release=lambda btn:         
   self.ids.dd_level.select(btn.text))
   # add button to dropdown
   self.ids.dd_level.add_widget(btn)
self.ids.dd_level.bind(on_select=lambda instance, x: setattr(self.ids.btn_level_dropdown, 'text', x))

希望在单击按钮之前不显示 DropDown 的项目。

DropDown Items 未正确显示:

但点击下拉按钮后它们工作正常:

【问题讨论】:

    标签: python kivy kivy-language


    【解决方案1】:

    我的情况不同,因为下拉菜单与我的按钮处于同一级别,在您的情况下,下拉菜单是按钮的子级。但是,您应该只需要添加 on_parent: dd_level.dismiss() 就可以让您的 Button 像这样:

    Button:
        id: btn_level_dropdown
        text: 'Select a level...'
        size_hint: (.25, .25)
        on_release: dd_level.open(self)
        on_parent: dd_level.dismiss()
    
        DropDown:
            id: dd_level
    

    如果这不能解决问题,请尝试将下拉菜单放在同一级别。就我而言,这解决了它。

    【讨论】:

      猜你喜欢
      • 2020-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-04
      • 1970-01-01
      • 2015-05-12
      • 1970-01-01
      相关资源
      最近更新 更多