Python Kivy-更改行高而不切断文本

Python Kivy-更改行高而不切断文本,python,kivy,Python,Kivy,有没有办法在不切断部分文本的情况下降低标签的行高 import kivy from kivy.app import App from kivy.uix.label import Label class MyApp(App): def build(self): return Label( text='This is a long line\nwith multiple\nline breaks.', font_size=

有没有办法在不切断部分文本的情况下降低标签的行高

import kivy

from kivy.app import App
from kivy.uix.label import Label


class MyApp(App):
    def build(self):
        return Label(
            text='This is a long line\nwith multiple\nline breaks.',
            font_size='100sp',
            line_height=.75
        )


MyApp().run()
或者——如果不是——还有什么办法可以达到同样的效果呢?

提前感谢

因为
标签
背景是透明的,所以您可以制作三个独立的
标签
,并将它们尽可能靠近。当然,太近会导致重叠。以下是一个例子:

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()
从kivy.app导入应用
从kivy.lang导入生成器
从kivy.uix.label导入标签
类别MyLabel(标签):
通过
kv='''
:
字体大小:“100sp”
大小提示:无,无
大小:self.texture\u大小
浮动布局:
MyLabel:
文字:“这是一条长线”
位置:10,lab2.y+lab2.height-25#将此标签放置在较低的标签上方,但向下放置25像素
MyLabel:
id:lab2
文本:“具有多个”
位置:10,0+lab1.height-25#将此标签放置在较低的标签上方,但向下放置25像素
MyLabel:
id:lab1
文本:“换行符。”
位置:10,0
'''
类别MyApp(应用程序):
def生成(自):
返回生成器。加载字符串(kv)
MyApp().run()

请注意,当您将单个
标签
用于多行时,将设置行间距(
行高度
)最小值,以防止文本上行和下行重叠。当您运行我的示例代码时,上行和下行不会重叠,但这只是运气。

这也是我的下一个方法,但我希望找到一个只有一个标签的解决方案。不过还是要谢谢你。