这里有一个简单的问题-我想在文本输入框中添加一些"填充",以便与上面的标签对齐:参见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: ""
3条答案
按热度按时间7lrncoxx1#
TextInput还有一个padding属性。
更改此设置以匹配标注上的填充
下面是我编写的一个示例应用程序,它是从您的代码中采用的。不幸的是,您的代码有几个问题,像
这样做更容易
dw1jzc5e2#
填充是TextInput内部的,只会让它变大--它不会帮助它与有填充的标签中的文本对齐。不幸的是Kivy没有“边距”的概念,所以让TextInput的框与填充的标签对齐的最简单的方法是将它 Package 在一个有透明背景的容器中。并设置该小部件上的填充-有效地伪造了边距。例如:
虽然经常令人讨厌,但这种行为完全有道理;Label是一个带有填充和背景的框,就像TextInput一样,当您添加填充时,Label会增长-只是您没有注意到这一点,因为与TextInput不同,Label没有背景 * 颜色 *。
bsxbgnwa3#
你也可以做一些研究@kivy text input.那应该会给予你所有你需要的信息甚至更多。