如何组织 kivy 布局?
How can I organise kivy layout?
我是 python 的新手,想为我的小应用程序安装一个 UI。我使用 kivy 作为 GUI 框架。我想知道布局。
如何组织布局?我试过在 gridlayout 中嵌入 boxlayout,但总是弄乱位置。
您应该将 GridLayout
嵌入垂直方向的 BoxLayout
并使用 size_hint
到 select 小部件应该占用多少 space。例如 size_hint: 1, 0.25
结果,小部件在水平方向上获取所有可用 space,在垂直方向上获取可用 space 的 1/4。结果:
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import BooleanProperty
from kivy.lang import Builder
Builder.load_string('''
<MyWidget>:
orientation: 'vertical'
Label:
size_hint: 1, 0.25
text: 'Label1'
GridLayout:
size_hint: 1, 0.25
cols: 2
Button
text: 'Button1'
Button
text: 'Button2'
Button
text: 'Button3'
Button
text: 'Button4'
Label:
size_hint: 1, 0.5
text: 'Label2'
''')
class MyWidget(BoxLayout):
pass
class MyApp(App):
def build(self):
return MyWidget()
if __name__ == '__main__':
MyApp().run()
我是 python 的新手,想为我的小应用程序安装一个 UI。我使用 kivy 作为 GUI 框架。我想知道布局。
如何组织布局?我试过在 gridlayout 中嵌入 boxlayout,但总是弄乱位置。
您应该将 GridLayout
嵌入垂直方向的 BoxLayout
并使用 size_hint
到 select 小部件应该占用多少 space。例如 size_hint: 1, 0.25
结果,小部件在水平方向上获取所有可用 space,在垂直方向上获取可用 space 的 1/4。结果:
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import BooleanProperty
from kivy.lang import Builder
Builder.load_string('''
<MyWidget>:
orientation: 'vertical'
Label:
size_hint: 1, 0.25
text: 'Label1'
GridLayout:
size_hint: 1, 0.25
cols: 2
Button
text: 'Button1'
Button
text: 'Button2'
Button
text: 'Button3'
Button
text: 'Button4'
Label:
size_hint: 1, 0.5
text: 'Label2'
''')
class MyWidget(BoxLayout):
pass
class MyApp(App):
def build(self):
return MyWidget()
if __name__ == '__main__':
MyApp().run()