簡體   English   中英

帶有滾動視圖的Kivy 1.10.1下拉列表無法在觸摸時滾動

[英]Kivy 1.10.1 dropdown with scrollview can't scroll on touch

該代碼可與kivy 1.9.1完美配合,但不適用於kivy master或1.10.1

碼:

DropDown:
    auto_width: False
    id: colors
    size: (root.width, 100)
    ScrollView:
        bar_width: 5
        do_scroll_y: False
        do_scroll_x: True
        height: 100
        size_hint_y: None
        GridLayout:
            id: colors_scroll
            rows: 1
            spacing: 0
            width: self.minimum_width
            size_hint: None, None
            30Buttons:
                size_hint: None, None
                size: 100,100

任何幫助將不勝感激。 謝謝!

DropDown小部件當前已經具有ScrollView的繼承。

嘗試將以下內容添加到ScrollView中:

    effect_cls: "ScrollEffect"
    scroll_type: ['bars']

main.py

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

Builder.load_string("""
#:import Button kivy.uix.button.Button

<CustomDropDown>:
    bar_width: 10
    effect_cls: "ScrollEffect"
    scroll_type: ['bars']
    bar_color: [1, 0, 0, 1]     # red color
    bar_inactive_color: [0, 0, 1, 1]    # blue color

    GridLayout:
        cols: 1
        size_hint_y: None
        height: self.minimum_size[1]

        on_parent:
            for i in range(1, 30): \
                txt = "{0}".format(i); \
                btn=Button(text=txt, size_hint_y=None, height=40); \
                btn.bind(on_release=lambda btn: self.select(btn.text)); \
                self.add_widget(btn)

""")


class CustomDropDown(DropDown):
    pass


dropdown = CustomDropDown()
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-滾動條無效 下拉菜單-滾動條處於活動狀態

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM