편집 기록

편집 기록
  • 프로필 ᅟᅟᅟᅟ님의 편집
    날짜2021.09.25

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


    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.09.24

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


    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에 들어간 그림들이 실시간으로 반영되는 방법을 알고 싶습니다. ㅜㅜ