【发布时间】:2016-06-13 03:04:46
【问题描述】:
假设我的 UI 改编自 ScrollView 示例:
from kivy.app import App
from kivy.uix.slider import Slider
from kivy.uix.label import Label
from kivy.uix.scrollview import ScrollView
from kivy.uix.gridlayout import GridLayout
from kivy.uix.boxlayout import BoxLayout
class ScrollViewApp(App):
def build(self):
layout = GridLayout(cols=1, padding=10, spacing=10,
size_hint=(None, None), width=500)
layout.bind(minimum_height=layout.setter('height'))
for i in range(15):
blt = BoxLayout(size_hint=(None, None), size=(480, 40))
blt.add_widget(Label(text="Slider %d" % i))
btn = Slider(value=i, min=0, max=42, size=(400, 40),
size_hint=(None, None))
blt.add_widget(btn)
layout.add_widget(blt)
scroll = ScrollView(size_hint=(None, None), size=(500, 320),
pos_hint={'center_x': .5, 'center_y': .5}, do_scroll_x=False)
scroll.add_widget(layout)
return scroll
if __name__ == '__main__':
ScrollViewApp().run()
由于scroll_timeout,与Sliders 的交互被延迟。是否可以在 ScrollView 中定义区域,其中 touch 事件只是无延迟(并且不启动滚动)传递给子级?
【问题讨论】:
-
等待船长 一年前我想要类似的东西,但没有成功。我认为这甚至可能无法实施。但为了确定起见,请在 irc 上询问。
-
@KeyWeeUsr 在下面看到我的答案,这似乎对我有用
标签: python scrollview kivy