gpt4 book ai didi

qt - 如何在转换后找到 QGraphicsItem 的大小

转载 作者:行者123 更新时间:2023-12-04 12:47:41 26 4
gpt4 key购买 nike

我正在 pyqt 代码的某些部分缩放 QGraphicsItem。在我代码的另一部分中,当我调用 self.rect.adjusted(0, 0, 0, 0) 时,它返回转换前的尺寸。我的问题是如何找到转换后的尺寸?

最佳答案

变换后可以请求sceneBoundingRect()或者调用boundingRegion(),比boundingRect()精度更高。这个函数在 QGraphicsItem 中。在 QtAssistant 中,您可以阅读更多相关信息:

边界区域描述了项目视觉内容的粗略轮廓。虽然计算成本很高,但它也比 boundingRect() 更精确,并且可以帮助避免在更新项目时不必要的重绘。这对于细的项目(例如,线条或简单的多边形)特别有效。您可以通过调用 setBoundingRegionGranularity() 来调整边界区域的粒度。默认粒度为 0;其中项目的边界区域与其边界矩形相同。
itemToDeviceTransform 是从项目坐标到设备坐标的转换。如果您希望此函数返回场景坐标中的 QRegion,您可以将 sceneTransform() 作为参数传递。

关于qt - 如何在转换后找到 QGraphicsItem 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5854963/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com