kivy scrollvi中灵活的对象数量

2024-03-28 17:54:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用一个屏幕上的输入,在第二个屏幕上使用kivy列出一个列表。其基本思想是将一个段落分解成单词,然后显示在另一个页面上。下面是一个最小的例子。在

现在的情况是单词被挤在一起,而且没有滚动。在

在主.py公司名称:

from kivy.app import App
from kivy.app import Widget

from kivy.uix.floatlayout import FloatLayout
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.properties import ObjectProperty


class InputScreen(Screen):
    wordList = ObjectProperty()
    def getwords(self):
        self.wordList=[]
        s = self.ids.textInput.text.split()
        for w in s:
            for punctuation in [',','.','!','?']:
                w.strip(punctuation)

            self.wordList.append(w)

        return None

class WordLabel(Label):
    pass

class WordScreen(Screen):
    wordList = ObjectProperty()
    def updateWords(self):
        self.ids.scrollContainer.clear_widgets()
        wordGrid = GridLayout(cols=2,size_hint_y=None)
        wordGrid.bind(minimum_height=wordGrid.setter('height'))
        for w in self.wordList:
            wordGrid.add_widget(Label(text=w))
            wordGrid.add_widget(Label(text='property of word'))

        self.ids.scrollContainer.add_widget(wordGrid)

class testScreenManager(ScreenManager):
    pass

class testApp(App):
    def build(self):
        sm = testScreenManager()
        return sm


if __name__=='__main__':
    testApp().run()

在试验电压公司名称:

^{pr2}$

我尝试过使用size_hint_y=.6作为滚动视图,并在wordGrid.bind(minimum_height=wordGrid.setter('height'))中交换height和{}。在

我所想的是,ScrollView容器将是窗口的高度减去另外两个小部件使用的高度。在ScrollView中,WordGrid更长(高度被限定为所有子级所需的最小高度),因此滚动用于查看所有项目。我一定不明白ScrollView、WordGrid和WordGrid的子元素的高度/大小。有人有什么见解吗?在


Tags: fromimportselfids高度defscreenlabel
1条回答
网友
1楼 · 发布于 2024-03-28 17:54:47

在本部分代码中:

for w in self.wordList:
        wordGrid.add_widget(Label(text=w))
        wordGrid.add_widget(Label(text='property of word'))

默认情况下,Label将有size_hint_y=1。相反,size_hint_y=None是必需的。可以设置一个高度,就像在WordLabel类中所做的那样——这正是OP(我所说的)要做的。在

感谢相关问题Kivy ScrollView - Not Scrolling帮助我认识到错误。在

相关问题 更多 >