如何限制显示的 kivy 微调项目的数量

How to limit the number of displayed kivy spinner items

我目前正在使用 kivy 的微调器小部件,我想知道是否有办法限制微调器显示的项目数量并滚动查看其余项目。 例如,我正在使用微调器显示所有月份,因此当我单击微调器时,列表到达 window 的底部。我希望看到大约 5-6 个选项,然后滚动查看其余选项。

您可以使用dropdown_cls.max_size属性来指定下拉列表的最大高度:

from kivy.base import runTouchApp
from kivy.uix.spinner import Spinner


max = 10
spinner = Spinner(
    text='Values',
    values=(str(n) for n in range(1, 20)),
    size_hint=(None, None),
    size=(100, 44),
    pos_hint={'center_x': .5, 'center_y': 0.9})

spinner.dropdown_cls.max_height = spinner.height* max + max * 4

runTouchApp(spinner)