滚动视图不是滚动按钮
Scrollview not scrolling button
我想创建一个带有动态创建按钮的可滚动 Floatlayout(我可以在其中滚动绘图板的一种绘画)。不幸的是,我出来的代码不起作用,并且在滚动 FloatLayout 时按钮不会移动。如何将按钮附加到 FloatLayout?
import kivy
kivy.require('1.0.7')
from kivy.app import App
from kivy.uix.scrollview import ScrollView
from kivy.lang import Builder
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.button import Button
Builder.load_string('''
<Scroller>
view: glayout
FloatLayout:
id: glayout
width: 2000
height: 2000
size_hint: (None, None)
''')
class Main(App):
def build(self):
self.root=Scroller()
return self.root
class Scroller(ScrollView):
def __init__(self, **kwargs):
super(Scroller, self).__init__(**kwargs)
a = Button(size_hint=(None,None), width=200, height=200)
self.ids.glayout.add_widget(a)
a.bind(pos=self.ids.glayout.pos)
if __name__ in ('__main__'):
app = Main()
app.run()
FloatLayout
处理大小,而不是位置。最简单的解决方案是将 FloatLayout
替换为 RelativeLayout
,它处理大小,位置相对于 RelativeLayout
原点。
我想创建一个带有动态创建按钮的可滚动 Floatlayout(我可以在其中滚动绘图板的一种绘画)。不幸的是,我出来的代码不起作用,并且在滚动 FloatLayout 时按钮不会移动。如何将按钮附加到 FloatLayout?
import kivy
kivy.require('1.0.7')
from kivy.app import App
from kivy.uix.scrollview import ScrollView
from kivy.lang import Builder
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.button import Button
Builder.load_string('''
<Scroller>
view: glayout
FloatLayout:
id: glayout
width: 2000
height: 2000
size_hint: (None, None)
''')
class Main(App):
def build(self):
self.root=Scroller()
return self.root
class Scroller(ScrollView):
def __init__(self, **kwargs):
super(Scroller, self).__init__(**kwargs)
a = Button(size_hint=(None,None), width=200, height=200)
self.ids.glayout.add_widget(a)
a.bind(pos=self.ids.glayout.pos)
if __name__ in ('__main__'):
app = Main()
app.run()
FloatLayout
处理大小,而不是位置。最简单的解决方案是将 FloatLayout
替换为 RelativeLayout
,它处理大小,位置相对于 RelativeLayout
原点。