python - Kivy:如何向文本输入添加填充

标签 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: ""

最佳答案

TextInput 还有一个 padding 属性。

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

TextInput:
    padding_x:[20,0]

这是我编写的一个示例应用程序,用于查看从您的代码中采用的示例应用程序。不幸的是,您的代码有几个问题,这样做更容易 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()

关于python - Kivy:如何向文本输入添加填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44403466/

相关文章:

python - 将列重新格式化为仅前 5 个字符

python - 在方法之间共享值

android - Kivy:在 Android 上无延迟地播放声音

python - Gif 动画不在 Kivy 应用程序中播放

python - dbt 高级用户 'NoneType' 没有属性 'find_generate_macro_by_name'

python - 涉及两个列表的 Python 单元测试

python pandas获取列值的第一位数字

python - 使用 numpy.rint() 舍入到最接近的 int 与 0.5 不一致

python - 如何创建一个变量,其值在文件重新加载时保持不变?

python - 当我绑定(bind)到 AliasProperty 时会发生什么?