我试图将一个网格布局(包含4个文本输入(定位在kivy中另一个网格布置(在我的情况下是rootwidget-RegistrationWindow(的中心,但似乎什么都不起作用。
这是我的.kv文件,根小部件是一个网格布局
<RegistrationWindow>
cols:1
canvas.before:
Rectangle:
size: self.size
pos:self.pos
source:"emotion.jpg"
GridLayout:
cols: 2
size_hint: None,None
size:root.width,root.height/14
Label:
text: "Button 1"
size_hint_x:0.95
Button:
text: "X"
size_hint_x: 0.05
GridLayout:
cols:1
size_hint: None, None
size:root.width, root.height/2
TextInput:
multiline:False
TextInput:
multiline:False
TextInput:
multiline:False
TextInput:
multiline:False
这是我的.py文件
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.lang.builder import Builder
class RegistrationWindow(GridLayout):
def __init__(self, **kwargs):
super().__init__(**kwargs)
kv = Builder.load_file("emotions.kv")
class RegistrationApp(App):
def build(self):
return RegistrationWindow()
if __name__ == "__main__":
RegistrationApp().run()
我认为您的问题是缩进问题。既然你想在RegistrationWindow中添加GridLayouts,你的.kv文件应该更像这样:
(您可以根据自己的喜好进一步重新排列GridLayouts,或者将GridLayout缩进更多以将其放入另一个GridLayout中。(
<RegistrationWindow>
cols:1
canvas.before:
Rectangle:
size: self.size
pos:self.pos
source:"emotion.jpg"
GridLayout:
cols: 2
size_hint: None,None
size:root.width,root.height/14
Label:
text: "Button 1"
size_hint_x:0.95
Button:
text: "X"
size_hint_x: 0.05
GridLayout:
cols:1
size_hint: None, None
size:root.width, root.height/2
TextInput:
multiline:False
TextInput:
multiline:False
TextInput:
multiline:False
TextInput:
multiline:False