Python Kivy:GridLayout中的水平可滚动标签

Python Kivy:GridLayout中的水平可滚动标签,python,scroll,kivy,Python,Scroll,Kivy,我正在尝试修改来自的代码,以便在GridLayout的水平轴上获得可滚动的标签。GridLayout不应该是可滚动的,而应该是其中的标签 对于我的应用程序,我不能使用kv语言(在.kv或生成器中),因此代码必须是python 从kivy.uix.gridlayout导入gridlayout 从kivy.uix.label导入标签 从kivy.uix.scrollview导入scrollview 从kivy.app导入runTouchApp 布局=网格布局(cols=1,间距=10) 对于范围(1

我正在尝试修改来自的代码,以便在GridLayout的水平轴上获得可滚动的标签。GridLayout不应该是可滚动的,而应该是其中的标签

对于我的应用程序,我不能使用kv语言(在.kv或生成器中),因此代码必须是python

从kivy.uix.gridlayout导入gridlayout
从kivy.uix.label导入标签
从kivy.uix.scrollview导入scrollview
从kivy.app导入runTouchApp
布局=网格布局(cols=1,间距=10)
对于范围(10)内的i:
label=label(text=“abcdefghjjklmnopqrstuvxyz_abcdefghjjklmnopqrstuvxyz_abcdefghjklmnopqrstuvxyz_abcdefghjklmnopqrstuvxyz_abcdefghjklmnopqrstuvxyz”,高度=30,大小提示x=无,宽度=400)
label.bind(最小宽度=label.setter('width'))
root=ScrollView(大小提示=(无,1),大小=(label.width,label.height))
root.add_小部件(标签)
布局。添加_小部件(根)
runTouchApp(布局)

到目前为止,这是可行的:

import kivy

from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.button import Button
from kivy.uix.popup import Popup
from kivy.uix.label import Label
from kivy.uix.scrollview import ScrollView

class Test(App):
    def build(self):
        layout  = GridLayout (cols=3)
        for i in range(3):
            l = Label(font_size=15, size_hint_x= None, width=300, text="This is a very looooooooooooooooooooonnnnnnnnnnnnnnnnnnnng text. Indeed it is a very loooooooooooooooooooooonnnnnnnnnnnnnnnng text")
            l.bind(size_hint_min_x=l.setter('width'))
            scroll = ScrollView(size_hint=(None, None), size=(100, 400), pos_hint={'center_x':.5, 'center_y':.5})
            scroll.add_widget(l)

            layout.add_widget(scroll)
        return layout


Test().run()