【问题标题】:changing scatter' scale affect its working logic - Kivy改变 scatter' 规模会影响其工作逻辑 - Kivy
【发布时间】:2016-12-24 17:03:33
【问题描述】:

我正在尝试更改散点图的大小,使其可以与我将散点图放入的网格元素的大小相同。

为此,我发现改变 Scatter 大小的方法是缩放,所以我在这里做了什么:

    gridscreen = GridLayout(rows = x-2)
        for y in self.listim:

            scatt = Scatter()
            scatt.scale = 2.5

            image = Image(source = y)
            scatt.add_widget(image)

            gridscreen.add_widget(scatt)

结果并不像我预期的那样安静,因为创建的每个 Scatter 的大小都很好,但是现在 Scatter 的工作方式与以前不同(在我添加 scatt.scale = 2.5 之前),并非 Scatter 中的所有图像都是连接,尤其是 Y 轴:

只允许在x轴上平移,看来我的问题来自scatt.do_translation_y,但我没有找到解决这个问题的方法。

我希望我能很好地解释我的问题。

感谢您的宝贵时间^^

【问题讨论】:

    标签: python python-2.7 python-3.x kivy kivy-language


    【解决方案1】:

    分散的大小将由布局定义 - 在你的情况下是 GridLayout - 所以剩下的只是使图像大小与分散相同 - 像这样

    在kv文件中:

    <ScatterWithImage>:
         src: "some_path"
         Image:
             size: root.size
             stretch: True
             source: root.src
    

    在python文件中:

     class ScatterWithImage(Scatter):
         src = StringProperty("some_path_to_an_image")
     gridlayout.add_widget(ScatterWithImage(src=y))
    

    【讨论】:

    • 我刚刚测试过,效果很好!!非常感谢 !! :D
    猜你喜欢
    • 2022-07-24
    • 2015-09-01
    • 2018-10-23
    • 2018-11-26
    • 2018-11-04
    • 2013-05-23
    • 2017-07-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多