Kivy:如何在文本输入中添加填充

时间:2017-06-07 04:24:21

标签: python python-3.x kivy kivy-language

这里只是一个简单的问题 - 我想在文本输入框中添加一些“填充”,以便将其与其上方的标签对齐:请参阅here

以下是我的.kv文件的相关部分:

<InstructionsLabel>:
    font_size: 24
    size_hint_y: None
    color: 0.447, 0.094, 0.737, 1
    text_size: root.width, None
    size: self.texture_size
    padding_x: 20

<LengthExactScreen>:
    canvas.before:
        Color:
            rgba: 1, 1, 1, 1
        Rectangle:
            pos: self.pos
            size: self.size
    FloatLayout:
        DirectionButton:
            text: "Back"
            pos_hint: {'left': 1, 'top': 1}
            on_press:
                root.manager.transition.duration = 0
                root.manager.current = "tool_screen"
        DirectionButton:
            text: "Done"
            pos_hint: {'right': 1, 'top': 1}
            on_press: root.compute_orders(root.itemList, int(len_exact_input.text))
    GridLayout:
        cols: 1
        pos_hint: {'top': 0.86}
        BoxLayout:
            size_hint_y: None
            height: self.minimum_height
            orientation: "vertical"
            InstructionsLabel:
                text: "Enter the number of items you want to order"
            TextInput:
                id: len_exact_input
                size_hint: None, None
                width: 300
                height: 35
                multiline: False
                hint_text: ""

2 个答案:

答案 0 :(得分:1)

TextInput还有一个填充属性。

更改此项以匹配标签上的填充

TextInput:
    padding_x:[20,0]

这是我编写的一个示例App,用于查看从您的代码中采用的内容。不幸的是,您的代码有几个问题,而且更容易这样做 enter image description here

from kivy.app import App
from kivy.base import Builder
from kivy.uix.boxlayout import BoxLayout

Builder.load_string("""
<rootwi>:
    orientation: 'vertical'
    Label:
        font_size: 24
        text: 'iuqwdouqwdoqdwpqwpow'
        color: 0.447, 0.094, 0.737, 1
        text_size: root.width, None
        size: self.texture_size
        padding_x: 20
    TextInput:
        padding_x:[20,0]
""")
class rootwi(BoxLayout):
    pass

class MyApp(App):
    def build(self):
        return rootwi()


if __name__ == '__main__':
    MyApp().run()

答案 1 :(得分:0)

你也可以做一些研究@ kivy text input。应该为您提供所需的所有信息以及更多信息。