PyQt5) QGraphicsView의 루프 안에서 만들어진 그림을 실시간으로 반영하고 싶습니다.

조회수 462회

QWidget 안 QGraphicsView에서 while문 루프를 돌리고 있습니다.

그런데 while문 루프 안에서 그림이 바뀌어도, 변경사항이 실시간으로 반영이 되지 않습니다.

오직 루프가 끝나야만 다 처리가 되어집니다.

def btn_pressed(self):

        L_FFT = self.parent().pt.fft()

        t_start = time.time()     
        while(time.time() - t_start <= 2):

            N = self.parent().pt.N
            t = time.time() * 10

            (x1, y1) = circle.POLAR(L_FFT[0], 0, N, t)

            for i in range(1, N):   
                (dx, dy) = circle.POLAR(L_FFT[i], i, N, t)
                (x2, y2) = (x1 + dx, y1 + dy)

                pen = QPen(QColor(0,255,0), 1)
                path = QPainterPath()
                path.moveTo(QPointF(x1, y1))
                path.lineTo(QPointF(x2, y2))
                self.items_ANIMATION.append(self.scene.addPath(path, pen))         
                (x1, y1) = (x2, y2)

            for item in self.items_ANIMATION:
                self.scene.removeItem(item)               
            self.items_ANIMATION = []

위 코드에서 self.scene에 들어간 그림들이 실시간으로 반영되는 방법을 알고 싶습니다. ㅜㅜ

  • 실시간으로 반영하는 코드가 루프 밖에 있는 것 아닐까요? 초보자 2021.9.25 11:52

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)