首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Kivy中从频繁更新的列表创建标签的动态列表

如何在Kivy中从频繁更新的列表创建标签的动态列表
EN

Stack Overflow用户
提问于 2021-03-20 05:55:00
回答 1查看 21关注 0票数 0

我正在尝试建立一个结构,将有多列数据将被更新,并必须滚动在一起。

整个应用程序有多个页面,等等。它的标签构建部分确实可以工作,因为它将"hello world“放在页面的正确部分。但是,它似乎是一个接一个地填充所有数据,即使我使用的是"index“属性。下面是py和kv文件中的一些代码片段:

代码语言:javascript
运行
复制
class RV(FloatLayout):  
    def re_build(self):
        label_list = [Label(text = "Label {}".format(x)) for x in range(20)]
        for count, x in enumerate(label_list):
            self.add_widget(Label(text='Hello World'), index = count)'
        


class MainScreen(Screen):  
    pass

class ScreenManagement(ScreenManager):
    pass 

class TestApp(App):
    def build(self):
        return ScreenManagement()


if __name__ == '__main__': 
      
    # Here the class MyApp is initialized 
    # and its run() method called. 
    TestApp().run() 
代码语言:javascript
运行
复制
<ScreenManagement>:
    padding: 10
    MainScreen:
        id: main_screen
        name: 'main_screen'

<MainScreen>:
    GridLayout:
        rows:3
        cols:1


        Button:
            size_hint: 1, None
            height: 50
            text: "just setting up"
            on_press:
                root.ids.rv.re_build()

        
        RV:

            id: rv

        

        GridLayout:
            rows:3
            cols:2
            size_hint : None, None
            CheckBox:
                active:False
            Label:
                text: 'item 1'
            CheckBox:
                active:False
            Label:
                text: 'item 2'
            CheckBox:
                active:False
            Label:
                text: 'item 3'

感谢您的任何帮助

EN

回答 1

Stack Overflow用户

发布于 2021-03-20 06:34:21

你的代码:

代码语言:javascript
运行
复制
self.add_widget(Label(text='Hello World'), index = count)

正在将Label添加到您的RV类,这是一个FloatLayout。在FloatLayout中,add_widget()调用中的indexLabel的位置没有影响,它只影响标签的绘制顺序。尝试使用不同的Layout作为RV类的基类。一些将根据index定位其子对象的示例包括GridLayoutBoxLayoutStackLayout

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66716056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档