【问题标题】:what is the proper way to set kivy scrollview effects_cls property?设置 kivy scrollview effects_cls 属性的正确方法是什么?
【发布时间】:2017-06-23 19:16:06
【问题描述】:

我想阻止用户过度滚动。 kivy doc 说 effects_cls 属性会改变这种行为,但我还没有找到让它工作的方法。

【问题讨论】:

  • 我不想继承我自己的效果,我只想将默认行为更改为其他一些预定义的 kivy 行为。

标签: scrollview kivy effects kivy-language


【解决方案1】:

虽然你已经解决了你的问题,但我会为以后的用户提供一个例子。

您可以通过将effect_cls 设置为任何效果类来更改正在使用的效果。如果您想禁用过度滚动效果以防止滚动弹跳效果ScrollEffect解决问题。

使用 kivy 语言的示例:

from kivy.app import App
from kivy.uix.scrollview import ScrollView
from kivy.lang import Builder


Builder.load_string('''
#:import ScrollEffect  kivy.effects.scroll.ScrollEffect
#:import Button kivy.uix.button.Button
<RootWidget>
    effect_cls: ScrollEffect
    GridLayout:
        size_hint_y: None
        height: self.minimum_height
        cols: 1
        on_parent:
            for i in range(10): self.add_widget(Button(text=str(i), size_hint_y=None))
''')

class RootWidget(ScrollView):
    pass

class MainApp(App):
    def build(self):
        root = RootWidget()
        return root

if __name__ == '__main__':
    MainApp().run()

输出:

【讨论】:

    【解决方案2】:

    所以我试图在它应该是 effect_cls: 'ScrollEffect' 时使用 effect_cls: ScrollEffect。 必须将其作为字符串传递。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-18
      • 2012-01-18
      • 2017-12-17
      • 1970-01-01
      • 2018-09-29
      • 2021-12-06
      • 1970-01-01
      相关资源
      最近更新 更多