저는 QGraphicsGridLayout에 QGraphicsWidget의 인스턴스를 배치하고 QGraphicsPath로 그려진 선과 위젯을 연결하고자하는 매우 간단한 PyQt 애플리케이션이 있습니다. 불행히도, 내가 무엇을 시도하든 항상 시작 위젯과 끝 위젯 모두에 대해 (0, 0)을 다시 가져온다.PyQt : QGraphicsGridLayout에서 QGraphicsWidgets의 위치를 얻으십시오.
위젯을 장면과 레이아웃에 추가하는 재귀 함수로 그래프를 구성하고 있습니다. 재귀 함수가 완료되면 레이아웃이 모든 위젯을 표시하는 장면에 추가되는 새로운 위젯에 추가됩니다. 위젯이 생성되면 가장자리가 장면에 추가됩니다.
그리드 레이아웃에서 위젯 중 0이 아닌 위치를 얻으려면 어떻게해야합니까?
업데이트 : 그리드 레이아웃의 위젯에서 pos()와 scenePos()를 모두 시도했음을 잊어 버렸습니다. 둘 다 항상 격자의 모든 위젯의 위치로 (0, 0)을 반환합니다.
아 - 죄송합니다. 위의 내용을 잊어 버렸습니다. 나는 pos()와 scenePos()를 시도했다. 둘 다 격자 레이아웃에 배치 한 모든 위젯에 대해 (0, 0) 점을 반환합니다. –
또한이 문제가 있습니다. 나는 scenePos()와 pos()를 시도했다. 나는 또한 mapToScene 함수를 시도했다. 항상 0,0 "pos = self.upstreamconnect.mapToScene (self.upstreamconnect.pos())" – jspada