首页 > 解决方案 > 如何根据窗口大小定位矩形?

问题描述

我正在尝试绘制一个矩形并将其放置在屏幕上,具体取决于窗口/屏幕的大小。

我有这个,但它不起作用:

with self.canvas:
    Color: xyz
    Rectangle(pos=(Window.size[0]-50,Window.size[1]-50),size=(50,50))

这也没有任何影响:

with self.canvas:
    Color: xyz
    Rectangle(pos=(Window.height-50,Window.width-50),size=(50,50))

可运行示例:

from kivy.core.window import Window
from kivy.uix.widget import Widget
from kivy.app import App
from kivy.graphics import *

Window.size = (375, 812)

class Temporary(Widget):

    def __init__(self, **kwargs):
        super(Temporary, self).__init__(**kwargs)
        with self.canvas:
            Color(255/255.0, 99/255.0, 71/255.0)
            Rectangle(pos=(0,0),size=(50,50))

class MainApp(App):

    def build(self):
        return Temporary()


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

标签: pythonkivy

解决方案


我已经设法让它按我的意图工作:

class Temporary(Widget):

    def __init__(self, **kwargs):
        super(Temporary, self).__init__(**kwargs)
        with self.canvas:
            Color(255/255.0, 99/255.0, 71/255.0)
            Rectangle(pos=(Window.size[0] / 2,Window.size[1] / 2),size=(50,50))

没有其他工作。以上将解决问题。


推荐阅读