我正在处理问卷表格,但标签和文本字段输入行之间的间距有问题。你可以在屏幕截图中看到“Label”和“Some input text”之间的默认距离太大,我不知道如何更改它。
示例截图:
我在小部件之间添加了红色边框,看起来我想去掉的“间距”实际上是 MDTextField 小部件的顶部填充,就在文本输入行的正上方。我尝试通过访问 MDTextField 小部件的
padding
属性手动更改它,但没有效果。如果有人能告诉我如何减少填充,我将不胜感激。谢谢!
这里是一个示例 Python 代码:
from kivymd.app import MDApp
from kivy.uix.boxlayout import BoxLayout
from kivy.lang import Builder
from kivymd.uix.screen import MDScreen
Builder.load_string("""
<MainScreen>:
MDBoxLayout:
adaptive_height: True
orientation: 'vertical'
size_hint_y: 1
MDBoxLayout:
adaptive_height: True
orientation: 'vertical'
spacing: 0
canvas:
Color:
rgba: 1, 0, 0, 1
Line:
width: 0.5
rectangle: self.x, self.y, self.width, self.height
MDLabel:
font_size: '20sp'
text: 'Label'
size_hint_y: None
size: self.texture_size
halign: 'left'
canvas:
Color:
rgba: 1, 0, 0, 1
Line:
width: 0.5
rectangle: self.x, self.y, self.width, self.height
MDTextField:
id: text_field
mode: "line"
size_hint_y: None
text_color_normal: 0, 0, 0, 1
text_color_focus: 0, 0, 0, 1
line_color_normal: 0, 0, 0, 1
line_color_focus: 0, 0, 0, 1
Widget:
""")
class MainScreen(MDScreen):
pass
class MainApp(MDApp):
def build(self):
self.main_box = MainScreen()
print(self.main_box.ids.text_field.padding)
self.main_box.ids.text_field.padding = [0, 0, 0, 0]
print(self.main_box.ids.text_field.padding)
return self.main_box
if __name__ == '__main__':
MainApp().run()