Затем я попытался просто создать свой собственный виджет для прокрутки текста. по сути, я создаю метку, которая показывает часть всего текста, который я хочу показать, а затем перебирает строки, так что это будет похоже на прокрутку в терминале. Проблема, с которой я столкнулся сейчас, заключается в том, что я не могу понять, как заставить этикетку оставаться того же размера в том же месте. Я установил размер и size_hint, и ни один из них не работает. text_size, похоже, работает, но у меня проблема, когда текст прыгает по горизонтали в зависимости от длины строки, при этом иногда кажется, что метка центрируется на позиции x, на которую я ее установил, вместо того, чтобы сделать эту позицию левой край. Я пробовал явно выравнивать текст по левому краю, но это тоже не дало никакого эффекта. Я пытаюсь сделать это в макете с плавающей запятой.
Если кто-нибудь объяснит, как я могу прокручивать огромное количество текста с помощью kivy, я был бы очень признателен. Спасибо
редактирование: добавление кода
Код: Выделить всё
Label:
id: scroll_label_text
font_size: 18
text: "log here"
x:800
Код: Выделить всё
log_text = ObjectProperty(Label)
scroll_down = ObjectProperty(Button)
scroll_up = ObjectProperty(Button)
scrollpos = 0
def __init__(self, log, **kwargs):
super(Reader,self).__init__()
self.scroll_down.bind(on_press=self.scroll)
self.scroll_up.bind(on_press=self.scroll)
self.log_text.y = self.scroll_down.height*2
self.log_text.text_size = (None,300)
self.log_text.shorten = True
Проблема в том, что я не могу, чтобы метка оставалась в левой части экрана. Кажется, что он сосредоточен вокруг настройки «x» (хотя цифры не совсем это обозначают), поэтому в зависимости от длины строки размер текстуры и, следовательно, положение изменяются.
Подробнее здесь: https://stackoverflow.com/questions/267 ... es-of-text