Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 向下扩展Kivy ScrollView内容_Python_Python 3.x_Kivy - Fatal编程技术网

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的示例: