Python 按钮未调整大小以适应文本(Kivy)

Python 按钮未调整大小以适应文本(Kivy),python,kivy,Python,Kivy,Sc.kv 我希望按钮调整大小以适应文本的大小,但是会发生什么情况: 为什么会发生这种情况?我该如何解决它?我写了一篇文章,其中包括这方面的内容。关键是绑定按钮大小以跟踪其纹理大小。: from kivy.app import App from kivy.uix.widget import Widget from kivy.uix.gridlayout import GridLayout from kivy.uix.button import Button class Selector(Wi

Sc.kv

我希望按钮调整大小以适应文本的大小,但是会发生什么情况:

为什么会发生这种情况?我该如何解决它?

我写了一篇文章,其中包括这方面的内容。关键是绑定按钮大小以跟踪其纹理大小。

from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.gridlayout import GridLayout
from kivy.uix.button import Button

class Selector(Widget): pass

class ScLayout(GridLayout): pass

class ScApp(App):

    def build(self):
        pass

if __name__ == '__main__':
    ScApp().run()
位置:200400 : 科尔斯:2 pos:self.parent.pos 间距:10 : 宽度:长度(自身文本)*50 浮动布局: 选择器: ScLayout: 按钮: 短信:“嘿” 文本大小:self.width,无 哈利格:“中心” 按钮: 文字:“欢迎” 文本大小:self.width,无 哈利格:“中心” 按钮: 文字:“嗨” 文本大小:self.width,无 哈利格:“中心” 按钮: 短信:“你好吗?” 文本大小:self.width,无 哈利格:“中心”
如果我这样做了
:width:self.texture\u size[0]
,编辑似乎没有任何变化:这是因为大小\u hint\u x在容纳它的GridLayout上不存在,请添加解释
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.gridlayout import GridLayout
from kivy.uix.button import Button

class Selector(Widget): pass

class ScLayout(GridLayout): pass

class ScApp(App):

    def build(self):
        pass

if __name__ == '__main__':
    ScApp().run()
<Selector>:
    pos: 200, 400

<ScLayout>:
    cols: 2
    pos: self.parent.pos
    spacing: 10

<Button>:
    width: len(self.text) * 50

FloatLayout:
    Selector:
        ScLayout:
            Button:
                text: 'hey'
                text_size: self.width, None
                halign:'center'
                

        Button:
            text: 'welcome'
            text_size: self.width, None
            halign:'center'

        Button:
            text: 'hi'
            text_size: self.width, None
            halign:'center'
        Button:
            text: 'how are you'
            text_size: self.width, None
            halign:'center'