如何通过拖动滑块来控制我的Kivy滚动视图



我是Kivy的新手,虽然我喜欢触摸界面,但我希望我的代码在非触摸屏计算机上也能很好地工作。

现在我有一个滚动视图,其中的网格布局比可见区域大。我可以很容易地通过滑动屏幕或在背景上用鼠标点击和拖动来移动我的视图。我想添加的是一个传统的点击和拖动功能到我的滚动条(就像浏览器窗口右侧的滚动条)。

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

我是SO和Kivy/Python的新手,所以如果这是一个糟糕的问题或措辞不当,我道歉。

是的,你可以这样做:在ScrollView中有一个scroll_type属性,通过设置它,你能实现你想要做的。

http://kivy.org/docs/api-kivy.uix.scrollview.html?highlight=scroll_type kivy.uix.scrollview.ScrollView.scroll_type

你可能想要改变bar_width属性,如果你设置scroll_type=['bars'],因为它默认为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)

你可以浏览一下文档,看看你还可以根据自己的需要修改什么

相关内容

  • 没有找到相关文章

最新更新