Kivy DropDown不受max_height的影响

时间:2016-06-01 15:46:38

标签: python python-3.x kivy

我注意到Kivy DropDownv1.9.2-dev0小部件的一些奇怪行为 documentation州:

  

max_height
  指示下拉列表可以采用的最大高度。如果None,则在达到屏幕的顶部或底部之前,它将采用可用的最大高度。

然而,情况似乎并非如此。以下是该文档页面(略有修改)的示例:

from kivy.uix.dropdown import DropDown
from kivy.uix.button import Button
from kivy.base import runTouchApp

max_hgt = 1     # This should affect the dropdown, but it doesn't

dropdown = DropDown(max_height = max_hgt)
for index in range(20):
    btn = Button(text='Value %d' % index, size_hint_y=None, height=44)
    btn.bind(on_release=lambda btn: dropdown.select(btn.text))

    dropdown.add_widget(btn)

mainbutton = Button(text='Hello', size_hint=(None, None))
mainbutton.bind(on_release=dropdown.open)
dropdown.bind(on_select=lambda instance, x: setattr(mainbutton, 'text', x))

runTouchApp(mainbutton)

所以我认为DropDown将限制为max_hgt,但更改它不会改变内容的大小 - 它仍会停在屏幕顶部。
这是一个Kivy问题还是我没有正确理解max_height属性?

1 个答案:

答案 0 :(得分:0)

这似乎确实是一个错误,我只是发送了一个拉取请求来解决它(https://github.com/kivy/kivy/pull/4550),感谢您的报告,并且抱歉长时间拖延!

编辑:修复已合并