Я создаю меню поиска для списка учетных записей игроков.
Имена игроков, которые находятся в базе данных, должны отображаться в ScrollView
.
Я пытался сделать это либо с GridLayout
, либо с ScrollView
, но я хочу разместить ник игрока рядом с его фотографией, поэтому я считаю, что использование FLoatLayout
- лучший подход для достижения этой цели..
Тем не менее, я не могу сделать FLoatLayout
прокручиваемым.
Этот код работает:
class TestApp(App):
def build(self):
root = BoxLayout(orientation='horizontal', pos=(200, 100))
left=ScrollView(size_hint=[None, None], size=(194, 334))
leftGrid = GridLayout(cols=1, size_hint_y=None,padding=20)
leftGrid.bind(minimum_height=leftGrid.setter('height'))
for x in range (34):
self.image = Image(
source='other_nick.gif', pos=(0, 0),height=30,size_hint_y=None,)
label = Label(
text='hello world', pos=(-15, 20), height=30,size_hint_y=None,)
leftGrid.add_widget(self.image)
leftGrid.add_widget(label)
left.add_widget(leftGrid)
root.add_widget(left)
return root
if __name__ == "__main__":
TestApp().run()
Но не так, как я хочу, так как он помещаеттекст рядом с изображением, но FloatLayout
не прокручивается:
class TestApp(App):
def build(self):
root = BoxLayout(orientation='horizontal', pos=(200, 100))
left=ScrollView(size_hint=[None, None], size=(194, 334))
fl = FloatLayout(size_hint_y=None)
y = 50
for x in range (34):
self.image = Image(
source='other_nick.gif', pos(0,y),height=30,size_hint_y=None,)
label = Label(
text='hello world', pos=(-15, y), height=30,size_hint_y=None,)
fl.add_widget(self.image)
fl.add_widget(label)
y -= 30
left.add_widget(fl)
root.add_widget(left)
return root
if __name__ == "__main__":
TestApp().run()