Поскольку фон Label
прозрачный, вы можете сделать три отдельных Labels
и переместить их как можно ближе друг к другу. Конечно, слишком близкое расположение приведет к перекрытию. Вот пример:
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.label import Label
class MyLabel(Label):
pass
kv = '''
<MyLabel>:
font_size: '100sp'
size_hint: None, None
size: self.texture_size
FloatLayout:
MyLabel:
text: 'This is a long line'
pos: 10, lab2.y + lab2.height - 25 # position this label above the lower one, but down 25 pixels
MyLabel:
id: lab2
text: 'with multiple'
pos: 10, 0 + lab1.height - 25 # position this label above the lower one, but down 25 pixels
MyLabel:
id: lab1
text: 'line breaks.'
pos: 10, 0
'''
class MyApp(App):
def build(self):
return Builder.load_string(kv)
MyApp().run()
Обратите внимание, что при использовании одного Label
для нескольких строк минимальное значение межстрочного интервала (line_height
) устанавливается для предотвращения перекрытия верхних и нижних текстов. Когда вы запускаете мой пример кода, верхние и нижние элементы не перекрываются, но это просто удача.