为什么我的 RectangleWidget 不是全屏

Why my RectangleWidget isn't Fullscreen

刚开始Kivy编程,对布局的理解有问题:

import kivy
kivy.require('1.9.0')
from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.core.window import Window
from kivy.uix.widget import Widget
from kivy.graphics import Rectangle, Color

class CornerRectangleWidget(Widget):
    def __init__(self, **kwargs):
        super(CornerRectangleWidget, self).__init__(**kwargs)
        with self.canvas:
            Color(1, 0, 1, 1)
            self.rect = Rectangle(size_hint=(1,None),height=48)

class ControllerApp(App):
    def build(self):
        Window.clearcolor = (1, 0, 0, 1)
        root = FloatLayout(size_hint=(1,1))
        root.add_widget(CornerRectangleWidget())
        return root

if __name__ == '__main__':
    ControllerApp().run()

为什么我的 CornerRectangleWidget 保持这么小。我也想要一个全屏的 FloatLayout 和 CornerRectangleWidget。

实际上我想将 Widget "CornerRectangleWidget" 构建为具有根 Widget "FloatLayout size_hint=(1,None)" 的 x 尺寸的浮动顶部工具栏!怎么做?

矩形没有size_hint,您需要设置位置和尺寸。

您还需要绑定到一个函数以在小部件位置更改时更新其位置,因为在 __init__ 期间它将具有默认位置 (0, 0) 和大小 (100 , 100).这是描述 here.