Kivy: How to add padding to a Text Input
10,424
TextInput has also a padding property.
Change this to match the padding on your label
TextInput:
padding_x:[20,0]
Here is a sample App I wrote to see that adopted from your code. Unfortunately, your code has several issues and it was easier to do it like that
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()
Author by
blakebullwinkel
Updated on July 12, 2022Comments
-
blakebullwinkel almost 2 years
Just a simple problem here - I would like to add some 'padding' to my text input box so as to align it with a label above it: see here
Here are the relevant sections of my .kv file:
<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: ""
-
Daniel B. over 5 yearspadding_x and padding_y are depcrecated, you should use padding instead. kivy.org/doc/stable/api-kivy.uix.textinput.html