Я создал базовый графический интерфейс, чтобы протестировать scrollview и получить платформу для дальнейшего развития.
При изменении размера моего окна над моими виджетами появляется черное пространство, а между ними также много черного.
Я пробовал использовать "anchor" и "pos", но не могу заставить виджеты оставаться в верхней части окна.
class GUI(App):
def build(self):
root = FloatLayout(size_hint=(1, None), size=(Window.width, Window.height))
sidepanel = BoxLayout(orientation="vertical", size_hint=(None, 1), pos_hint={"x": 0.0, "y": 0.0})
scroll = ScrollView(pos_hint={"x": 0.2, "y": 0.0})
layout = BoxLayout(orientation="vertical", spacing=10, size_hint_y=None)
layout.bind(minimum_height=layout.setter('height'))
for i in range(50):
btn = Button(text=str(i), size_hint_y=None, height=30)
layout.add_widget(btn)
sidepanel.add_widget(Button(text="Import Photos", size_hint=(1,0.2)))
sidepanel.add_widget(Button(text="Create Report", size_hint=(1,0.2)))
sidepanel.add_widget(Button(text="Save?", size_hint=(1,0.2)))
sidepanel.add_widget(Button(text="Button 4", size_hint=(1,0.2)))
scroll.add_widget(layout)
root.add_widget(sidepanel)
root.add_widget(scroll)
return root
Я ожидаю, что боковая панель останется прежнего размера, а представление прокрутки, содержащее «макет», изменит размер с окном. И все виджеты должны оставаться в топе.
Стандартное окно
Окно с измененным размером