【问题标题】:Kivy: Accessing canvas properties inside of a widget from pythonKivy:从python访问小部件内部的画布属性
【发布时间】:2020-07-16 12:09:03
【问题描述】:

我需要画布的 size 属性在小部件中每半秒动态更改一次。有没有办法从 python 代码访问 size 属性?或者我可以在 kv 代码中绑定一个函数吗?

这是我的 Kivy 代码:

    Widget:
        id: myWidget
        canvas:
            Color:
                rgb: 1,1,1
            RoundedRectangle:
                size: (self.width, self.height / 2)
                pos: self.pos

【问题讨论】:

    标签: python user-interface canvas kivy


    【解决方案1】:

    画布没有 size 属性,我猜你的意思是 RoundedRectangle 的大小?

    在这种情况下,最简单的方法是将其绑定到一个属性并更新该属性:

    size: self.rect_size
    

    在python中:

    from kivy.properties import ListProperty
    class YourWidget:
        rect_size = ListProperty([0, 0])
    

    注意,kv 然后需要使用YourWidget 类。

    更新rect_size,RoundedRectangle 大小将自动跟随它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-17
      • 2016-10-12
      • 1970-01-01
      相关资源
      最近更新 更多