我已经创建了一个基本的GUI,以测试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
我希望侧面板保持相同的大小,而包含“布局”的滚动视图将随窗口调整大小。并且所有小部件都应位于顶部。
标准窗口
调整大小的窗口
答案 0 :(得分:0)
您的问题源于“根”浮动版式中的尺寸规格。尝试使用:
root = FloatLayout()
,其中不指定任何尺寸说明。它会知道如何使用窗口自动调整自身大小。通常,您要避免在同一窗口小部件上同时使用size_hint
和size
。 pos_hint
和pos
也是如此。