Чтобы создать многострочную метку в Kivy, вы можете использовать виджет Labelи установить для свойства textстроку, содержащую разрывы строк. Вот пример:
from kivy.app import App
from kivy.uix.label import Label
class MultilineLabelApp(App):
def build(self):
label = Label(text="This is a\nmultiline label\nin Kivy")
return label
MultilineLabelApp().run()
В приведенном выше примере свойство textвиджета Labelустановлено с помощью строки "Это\nмногострочная метка\nin Kivy", где \nпредставляет собой разрыв строки.
В качестве альтернативы вы можете использовать виджет Labelв сочетании со свойством text_sizeдля автоматического переноса текста в несколько строк. Если для свойства text_sizeуказать размер виджета, текст будет автоматически перенесен в соответствии с этими размерами. Вот пример:
from kivy.app import App
from kivy.uix.label import Label
class MultilineLabelApp(App):
def build(self):
label = Label(text="This is a multiline label in Kivy", text_size=(self.width, None))
label.bind(texture_size=label.setter('size'))
return label
MultilineLabelApp().run()
В этом примере для свойства text_sizeустановлено значение (self.width, None), где self.widthпредставляет ширину виджет, а Noneпозволяет динамически регулировать высоту в зависимости от содержимого.