Ponownie ja z kolejnym wg mnie dziwnym problemem Kivy.
Jak zwykle minimalny przykład.
W zmiennej lorem ostatnia linia jest bez znaku przejścia do kolejnej i to stanowi chyba problem dla funkcji _shift_lines
from kivy.app import runTouchApp,stopTouchApp
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.uix.textinput import TextInput
from kivy.clock import Clock
lorem="""Asdsadas
dsfdsf fds dsfdsf
sdf dsfd fds fds fds.
Rdf sdf sd fds
a"""
def f_LineUp(*Data):
txt._shift_lines(-1)
Clock.schedule_once(lambda _x: txt.cancel_selection())
txt.focus=True
return None
def f_LineDw(*Data):
txt._shift_lines(1)
Clock.schedule_once(lambda _x: txt.cancel_selection())
txt.focus=True
return None
main=BoxLayout(orientation='vertical',size_hint=(1,1))
layh=BoxLayout(orientation='horizontal',size_hint=(1,.1))
btnUp=Button(text="LineUp",size_hint=(.5,1))
btnUp.bind(on_release=f_LineUp)
btnDw=Button(text="LineDw",size_hint=(.5,1))
btnDw.bind(on_release=f_LineDw)
txt=TextInput(text=lorem,multiline=True,size_hint=(1,.9))
layh.add_widget(btnUp)
layh.add_widget(btnDw)
main.add_widget(layh)
main.add_widget(txt)
runTouchApp(main)
Czy to jest błąd?
Będę pisał swoją funkcję, a chciałem wykorzystać coś wbudowanego.
Pozdrawiam
Radosław Głębicki