作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 kivy 中使用 multiTab。如何放大滚动条以便可以通过鼠标移动(上下)滚动条。我正在使用 BoxLayout 和 RecycleView。下面的代码适用于 gridLayout,但不适用于 BoxLayout:
layout.bind(minimum_height=layout.setter('height'))
最佳答案
下面是如何扩展 ScrollView 以获取可拖动 slider 的示例。
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.lang import Builder
from kivy.uix.label import Label
Builder.load_string("""
<ScrollSlider>:
ScrollView:
id: scrlvw
bar_width: 0
GridLayout:
id: grid
size_hint_y:None
cols:1
height: self.minimum_height
scroll_y: slider.value
on_touch_move: slider.value = self.scroll_y
Slider:
size_hint_x: None
width: root.width*0.2
id: slider
min: 0
max: 1
orientation: 'vertical'
value: scrlvw.scroll_y
on_value: scrlvw.scroll_y = self.value
""")
class ScrollSlider(BoxLayout):
def custom_add(self, widget):
self.ids.grid.add_widget(widget)
class MyApp(App):
def build(self):
scrollslider = ScrollSlider()
for i in range(1, 100):
scrollslider.custom_add(Label(text=str(i), height=100, size_hint_y=None))
return scrollslider
if __name__ == '__main__':
MyApp().run()
您需要使用custom_add
在ScrollSlider
中添加小部件,或者将它们添加到kivy中的GridLayout
中。
我从 @Edvardas Dlugauskas 提供的链接中获得了一些灵感。
您提供的代码不适用于 BoxLayout
,因为 BoxLayout
仅采用其父级的大小。为了能够滚动,您需要将某些内容添加到 ScrollView
中,该内容比 ScrollView
本身更大。
关于python - 如何在 Kivy python 中最大化滚动条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45372253/
我是一名优秀的程序员,十分优秀!