Python 如何通过拖动滑块来控制Kivy scrollview?

Python 如何通过拖动滑块来控制Kivy scrollview?,python,user-interface,scrollview,kivy,Python,User Interface,Scrollview,Kivy,我是Kivy的新手,虽然我喜欢触摸界面,但我希望我的代码在非触摸屏电脑上也能正常工作 现在我有一个滚动视图,其中的gridlayout比可见区域大。我可以通过在屏幕上滑动或在背景上单击并拖动鼠标来轻松移动视图。我想在我的滚动条上添加一个传统的点击和拖动功能(比如浏览器窗口右侧的滚动条) 我不需要小的上下箭头,但我希望能够拖动滚动条并在我的滚动视图中移动 我对SO和Kivy/Python都是新手,因此如果这是一个糟糕的问题或措词不当,我深表歉意。是的,您可以做这样的事情: 在ScrollView中

我是Kivy的新手,虽然我喜欢触摸界面,但我希望我的代码在非触摸屏电脑上也能正常工作

现在我有一个滚动视图,其中的gridlayout比可见区域大。我可以通过在屏幕上滑动或在背景上单击并拖动鼠标来轻松移动视图。我想在我的滚动条上添加一个传统的点击和拖动功能(比如浏览器窗口右侧的滚动条)

我不需要小的上下箭头,但我希望能够拖动滚动条并在我的滚动视图中移动


我对SO和Kivy/Python都是新手,因此如果这是一个糟糕的问题或措词不当,我深表歉意。

是的,您可以做这样的事情: 在ScrollView中有一个scroll_类型属性,因此通过设置它,您可以实现您想要做的事情

如果将滚动类型设置为['bar'],则可能需要更改bar_width属性,因为它默认为2,并且太小,无法用鼠标抓取

以下是一个基于文档中的示例:

layout = GridLayout(cols=1, spacing=10, size_hint_y=None)
# Make sure the height is such that there is something to scroll.
layout.bind(minimum_height=layout.setter('height'))
for i in range(30):
    btn = Button(text=str(i), size_hint_y=None, height=40)
    layout.add_widget(btn) 
root = ScrollView(size_hint=(None, None), size=(400, 400),
                scroll_type=['bars'], bar_width='10dp') #you can use both ['bars','content']
root.add_widget(layout)

您可以浏览这些文档,看看还可以根据自己的需要更改哪些内容。

谢谢@Flns的帮助。这正是我所需要的。滚动条的行为对于鼠标来说真的很奇怪。我必须单击并向下拖动滚动条以将其向上移动,反之亦然。有没有办法改变这种默认行为?编辑:更改为scroll_type=['bars','content']会起作用。