Python 向下扩展Kivy ScrollView内容
我有一个Python 向下扩展Kivy ScrollView内容,python,python-3.x,kivy,Python,Python 3.x,Kivy,我有一个FloatLayout作为ScrollView的子视图,其size\u hint\y设置为None。我希望能够扩展它,因为我添加了越来越多的内容。问题是,由于Kivy的坐标系从左下角开始,当我添加到FloatLayout高度时,所有内容都保留在底部。我能让它向下延伸吗?因为我不认为将所有小部件向上移动是有效的,特别是如果有很多小部件,而且我还需要处理所有子部件的位置。 下面是一个解释问题行为的片段: from kivy.app import App from kivy.uix.float
FloatLayout
作为ScrollView
的子视图,其size\u hint\y
设置为None
。我希望能够扩展它,因为我添加了越来越多的内容。问题是,由于Kivy的坐标系从左下角开始,当我添加到FloatLayout
高度时,所有内容都保留在底部。我能让它向下延伸吗?因为我不认为将所有小部件向上移动是有效的,特别是如果有很多小部件,而且我还需要处理所有子部件的位置。下面是一个解释问题行为的片段:
from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.uix.scrollview import ScrollView
from kivy.uix.label import Label
class TestApp(App):
def extend_h(self, *args):
global msg_float
msg_float.height += 50
def build(self):
global msg_float
msg_float = FloatLayout(size_hint_y = None)
bt1_main = Button(on_press = self.extend_h)
bl = BoxLayout()
sc = ScrollView()
sc.add_widget(msg_float)
bl.add_widget(sc)
bl.add_widget(bt1_main)
lb = Label(text = "Test",
size=(100,200),
size_hint = (None, None))
msg_float.add_widget(lb)
return bl
TestApp().run()
按下一个按钮,视图将扩展,“Test”
标签保持在底部,但我希望它保持在顶部。您可以使用浮动布局来修复坐标,但您应该忽略使用其中任何一个,并将标签添加到网格布局中。查看kivy repo的示例:
您可以使用浮动布局而不是浮动布局来修复坐标,但是您应该忽略使用其中任何一种布局,并将标签添加到网格布局中。查看kivy repo的示例: