首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >缺少回收视图小部件

缺少回收视图小部件
EN

Stack Overflow用户
提问于 2022-02-22 04:21:49
回答 1查看 35关注 0票数 0

我需要创建一个自动填充应用程序,我有一个标签和文本输入在顶部,循环视图在底部。但是,当我运行该程序时,即使已在字符串中设置,循环视图也将消失。此应用程序将通过在文本输入中键入名称来方便搜索内容,相关内容将出现在“回收”视图中,因此用户不必通过冗长的内容列表查看内容。

代码语言:javascript
运行
复制
from kivy.app import App
from kivy.lang import Builder
from kivy.core.window import Window
from kivy.uix.recycleview import RecycleView
from kivy.uix.boxlayout import BoxLayout

Window.size = (350, 600)

Builder.load_string('''
<MyLayout>:
    BoxLayout:
        orientation: "vertical"
        spacing: 10
        padding: 10

        Label :
            text : 'Favourite Pizza'
           
        TextInput :
            font_size: 30
            focus: True
            multiline : False
           
        <RV>:    
            RecycleBoxLayout:   
                viewclass: 'TextInput'        
                default_size: None, 30
                default_size_hint: 1, None
                size_hint_y: .8
                height: self.minimum_height
                orientation : 'vertical'  
                  
''')

class MyLayout(BoxLayout):
    pass

class RV(RecycleView):  
    def __init__(self, **kwrgs):
        super(RV, self).__init__(**kwrgs)
        content = ["Pepperoni", "Cheese","Papper", "Hawaii", "Seafood", 
        "Ham", "Taco", "Onion"]
        self.data = [{'text':item} for item in content]     
        print(content)

class MainApp(App):
    title='Search App'
    def build(self):
        Window.clearcolor = (51/255, 153/255, 1, 1) 
        return MyLayout()    
   
MainApp().run()

我应该怎么做才能获得完整的视图(标签、文本输入和循环视图)?我想输入一个文本,相关的内容会出现在循环视图中,我能使用循环视图来达到这个目的吗?我可以同时使用BoxLayout和RecycleBoxLayout,因为它引用不同的小部件吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-22 06:47:09

首先,动态类必须与root处于同一级别。

其次,为了使RecycleView垂直增长,您必须将size_hint_y of RecycleBoxLayout设置为None。因此,您的kvlang现在应该是,

代码语言:javascript
运行
复制
<MyLayout>:
    BoxLayout:
        orientation: "vertical"
        spacing: 10
        padding: 10

        Label :
            text : 'Favourite Pizza'
           
        TextInput :
            font_size: 30
            focus: True
            multiline : False
           
        RV:


<RV>:
    viewclass: 'TextInput'
    RecycleBoxLayout:
        default_size: None, 30
        default_size_hint: 1, None
        size_hint_y: None
        height: self.minimum_height
        orientation : 'vertical'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71215875

复制
相关文章

相似问题

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