如何更改 KivyMD TextField 的顶部填充?

问题描述 投票:0回答:0

我正在处理问卷表格,但标签和文本字段输入行之间的间距有问题。你可以在屏幕截图中看到“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()
python python-3.x kivy kivy-language kivymd
© www.soinside.com 2019 - 2024. All rights reserved.