【问题标题】:Kivy Setting height for a Spinner Dropdown with many valuesKivy 为具有多个值的 Spinner Dropdown 设置高度
【发布时间】:2021-08-19 11:58:12
【问题描述】:

在这段代码中,我需要将微调器下拉菜单调整到特定高度...通常当我添加许多值时,它只会覆盖屏幕然后有滚动视图...但我需要将其固定为特别的高度……有可能吗?如果有,怎么做?

主代码:

from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
from kivy.lang import Builder
from kivy.uix.widget import Widget
from kivy.uix.screenmanager import Screen,ScreenManager


class Main(Screen):
    pass
class Manager(ScreenManager):
    pass
kv=Builder.load_file("test2.kv")
screen=Manager()
screen.add_widget(Main(name="main"))

class Test(App):
    def build(self):
        return screen

Test().run()

Kv 代码:

<Main>:
    name: "main"
    FloatLayout:
        id: Fl2
        Spinner:
            id: number
            text: "Select Number"
            values: ["ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","TEN","ELEVEN","TWELVE"]
            size_hint: (.3,.1)
            font_size: 30
            pos_hint: {"center_x":.445,"center_y":.692}
            text_size: self.width-dp(30),None
            background_color: "#DAA628"
            background_normal: ""
            color: "#212121"

Output Here

Expected Output

【问题讨论】:

    标签: python kivy dropdown spinner


    【解决方案1】:

    Spinner 小部件允许您指定将用于显示选项列表的dropdown_cls。因此,您只需指定一个具有max_height 属性集的dropdown_cls

    <MyDropDown@DropDown>:
        max_height: 100
    
    <Main>:
        name: "main"
        FloatLayout:
            id: Fl2
            Spinner:
                id: number
                text: "Select Number"
                dropdown_cls: 'MyDropDown'  # specify class for DropDown 
                values: ["ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","TEN","ELEVEN","TWELVE"]
                size_hint: (.3,.1)
                font_size: 30
                pos_hint: {"center_x":.445,"center_y":.692}
                text_size: self.width-dp(30),None
                background_color: "#DAA628"
                background_normal: ""
                color: "#212121"
    

    【讨论】:

    • 通过使用...扩展DropDown 类的有趣解决方案...您如何使用语法&lt;Extension@Class&gt; 调用该Kv 语言功能?
    猜你喜欢
    • 2020-04-03
    • 2020-10-12
    • 2014-03-27
    • 1970-01-01
    • 2017-03-23
    • 2018-12-08
    • 1970-01-01
    • 1970-01-01
    • 2021-07-09
    相关资源
    最近更新 更多