为什么我的 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.
刚开始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.