如何在 Kivy 的布局中获取小部件位置?

2022-01-15 00:00:00 python kivy user-interface

问题描述

我有一个 GridLayout,我在添加图像后在其上添加了一些图像小部件.

I have a GridLayout and I added some Image widgets on it after adding of images I want to draw a rectangle in each image by using their canvas but I couldn't because I don't know the exact Image widgets positions on GridLayout.

在我的 Python 代码的最后一行:Rectangle(pos = (child.x - 2.4, child.y + 467), size = (70, 70))

In last line of my Python code : Rectangle(pos = (child.x - 2.4, child.y + 467), size = (70, 70))

如何在child中绘制这个矩形(我的方法不好^),

How to draw this rectangle in child(My method is not good^),

还有为什么我的 GridLayout 在设置为 pos_hint = {"center_x" : .5} 后没有居中?

Also Why my GridLayout not coming in center after setting it's pos_hint = {"center_x" : .5}?


解决方案

如果我理解的问题是正确的,请尝试使用 to_local(), to_parent(), to_widget()to_window().您也可以尝试从小部件的位置中减去 GridLayout 的位置.

If I understand question right, try to use such methods as to_local(), to_parent(), to_widget() and to_window(). Also you could try to subtract position of your GridLayout from Widgets' positions.

相关文章