python - 如何根据窗口大小定位矩形?
问题描述
我正在尝试绘制一个矩形并将其放置在屏幕上,具体取决于窗口/屏幕的大小。
我有这个,但它不起作用:
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()
解决方案
我已经设法让它按我的意图工作:
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))
没有其他工作。以上将解决问题。
推荐阅读
- appimage - 如何将 shell 程序打包到 AppImage 中?
- javascript - jsPDF - 如何在网格中添加图像
- javascript - 如何在 Forge Viewer 中卸载默认扩展?
- parsing - 一元减法搞砸了解析
- php - PHP | 计算剩余天数但考虑闰年
- c++ - 函数上的 Consexpr
- reactjs - React:在所有路由上进行身份验证
- c++ - OpenVINO GPU 性能优化
- hornetq - 从 HornetQ 升级到 Artemis ActiveMQ 时的性能问题
- ios - 是否可以创建自签名 ssl 证书以避免应用程序代码中的“挑战”?