gpt4 book ai didi

python - PyQt:获取 QGraphicsWidgets 在 QGraphicsGridLayout 中的位置

转载 作者:行者123 更新时间:2023-11-28 18:55:31 25 4
gpt4 key购买 nike

我有一个相当简单的 PyQt 应用程序,我在其中将 QGraphicsWidget 的实例放置在 QGraphicsGridLayout 中,并希望将小部件与用 QGraphicsPath 绘制的线连接起来。不幸的是,无论我尝试什么,我总是得到 (0, 0) 作为开始和结束小部件的位置。

我正在使用向场景和布局添加小部件的递归函数构建图形。递归功能完成后,布局将添加到一个新的小部件中,该小部件将添加到场景中以显示所有内容。在创建小部件时将边缘添加到场景中。

如何获取网格布局中任何小部件的非零位置?

更新:我忘了说我已经在网格布局的小部件上尝试了 pos() 和 scenePos()。两者始终返回 (0, 0) 作为网格中每个小部件的位置。

最佳答案

如果您使用 QGraphicsItem::pos(),它会为您提供项目在父坐标中的位置。使用 QGraphicsLayout 时,父级可能是包含对象的单元格,因此坐标等于零。

因为你想用路径连接小部件,你需要场景坐标来定义控制点:使用QGraphicsItem::scenePos()来获取你的QGraphicsWidget 在场景中。

关于python - PyQt:获取 QGraphicsWidgets 在 QGraphicsGridLayout 中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2799776/

25 4 0
文章推荐: python - 如何解码