【发布时间】:2014-11-17 15:36:27
【问题描述】:
我是 Kivy 的新手,我正在尝试基于 Kivy 文档上的官方 ScrollView example 创建一个滚动视图。
我正在使用带有 Python 版本 3.3.3 的适用于 Windows 的 Kivy 便携包。
当我尝试在未注释 layout.bind 行的情况下运行下面的代码时,我得到了以下错误的重复行:
警告,在下一帧之前完成了太多迭代。检查你的代码,或者增加 Clock.max_iteration 属性
当我评论 layout.bind 行时,我可以正常启动,并在我期望的位置添加按钮,但滚动不起作用。
from kivy.app import App
from kivy.uix.scrollview import ScrollView
from kivy.uix.stacklayout import StackLayout
from kivy.uix.button import Button
class Example(App):
def build(self):
layout = StackLayout(size_hint_y=None)
# If i uncomment this line, i got the error:
# layout.bind(minimum_height=layout.setter('height'))
for i in range(30):
btn = Button(text=str(i), size_hint=(.33,.8))
layout.add_widget(btn)
root = ScrollView(size_hint=(None,None), size=(400, 400))
root.add_widget(layout)
return root
if __name__ == '__main__':
Example().run()
问题是为什么滚动不起作用?以及为什么 layout.bind 会导致错误。
我应该怎么做才能在 x 轴上获得相同的视觉效果和滚动而不会出现错误?
我把这段代码尽量贴近Kivy官方example。
【问题讨论】:
标签: python windows scrollview kivy