Python 当所有小部件都以Kivy显示时,是否会发生一些事件?

Python 当所有小部件都以Kivy显示时,是否会发生一些事件?,python,widget,kivy,python-3.4,Python,Widget,Kivy,Python 3.4,我有3个布局,第2个布局的大小取决于另外2个布局的子布局的宽度: def on_size(self, *args): self.left_panel.width = max(child.texture_size[0] for child in self.left_panel.children) + self.side_padding self.right_panel.width = max(child.texture_size[0] for child in self.right

我有3个布局,第2个布局的大小取决于另外2个布局的子布局的宽度:

def on_size(self, *args):
    self.left_panel.width = max(child.texture_size[0] for child in self.left_panel.children) + self.side_padding
    self.right_panel.width = max(child.texture_size[0] for child in self.right_panel.children) + self.side_padding
    available_space = self.width - self.left_panel.width - self.right_panel.width
    if available_space > self.height:
        self.middle_panel.size = (self.height, self.height)
        extra = (self.width - self.height - self.left_panel.width - self.right_panel.width) // 2
        self.left_panel.width += extra
        self.right_panel.width += extra
    else:
        self.middle_panel.size = (available_space, available_space)
    self.middle_panel.calculate_points()
    self.middle_panel.clear_widgets()
    self.middle_panel.redraw_blocks()
由于某些原因,它只能在50%的情况下(随机)正常工作。若它加载了worng,那个么在我调整窗口大小后,它就变得正确了。现在,当另外两个布局的每个子级的
on_size()
触发时,我也会调用它,这是个坏主意。加载/呈现所有内容时是否有事件或其他事件

更新:

这就是它应该是什么样子(有时也是如此)。

但有时会随机出现下一个问题(请参见右侧的按钮):

更新:

现在我称之为:

class SideButton(Button):
    def on_size(self, *args):
        self.parent.parent.on_size()

我知道这不是个好主意,因为它会触发smth 30-50次,但我发明的smth再好不过了。

看起来你把
宽度
高度
搞混了。但是如果您将这些布局放在一个
框布局中,并将
左面板
右面板
大小提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示提示。我有。而且,即使加载错误,在调整窗口大小后,它也会变得正确。@RyanP抱歉,我忘记了
size\u hint\u x
已经没有了。但这并不重要。