如何在 Kivy 中将文字环绕在按钮周围?

How to wrap text around button in Kivy?

我在 GridLayout 中有三个按钮(一列,三行)。 按钮顶部的文本居中,但当它太长时,它会延伸到屏幕之外。我该如何包裹它?当前代码是:

self.add_widget(Button(text="", text_size = (None, self.height), halign = "center", valign = "center"))

每个按钮。

设置

text_size = (None, self.height)

作为 Button 构造函数的参数不会设置绑定。它只是将 text_size 设置为执行 Button __init__() 方法时的值。所以 text_size 被设置为 (None, 100) 并保持这种状态(小部件的默认 height100)。如果你想实际拥有这样的绑定,你必须使用 Kivy 语言,或者自己设置绑定。像这样:

        butt = Button(text="", text_size = self.size, halign = "center", valign = "center")
        butt.bind(size=self.resize)
        self.add_widget(butt)

def resize(self, butt, new_size):
    butt.text_size = new_size