0
문제는 확인란을 선택하면 장면을 계속 회전시키고 선택을 취소하면 즉시이 회전을 멈추고 싶습니다. 그러나 "회전 유지"는 무한 루프를 의미합니다 ...pyqt에서 무한 도면을 중지하려면 확인란의 선택을 취소 하시겠습니까?
루프를 입력하면 프로그램이 정지되고 더 이상 내 "선택 취소"신호에 반응하지 않습니다. 이 루프를 방해 할 수있는 방법이 있습니까? 다음은 관련 코드의 골격입니다. 감사합니다.
class Draw(QGLWidget):
def __init__(...):
...
self.rotate=0
self.auto=False
def paintGL(self):
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
glLoadIdentity()
glRotatef(self.rotate,0.0,0.0,1.0)
draw stuff...
glFlush()
def autoRotate(self,auto): # auto is an integer and used here as true/false
self.auto=auto
while self.auto:
self.rotate+=0.5
if self.rotate>360:
self.rotate-=360
self.updateGL()
if auto==False:
break
class SpiralWidgetDemo(QtGui.QMainWindow):
def __init__(self):
...
auto=QtGui.QCheckBox("Auto")
self.connect(auto,QtCore.SIGNAL("stateChanged(int)"),widget.autoRotate)
귀하의 답변은 매우 정확하며 문제는 해결되었습니다. 고맙습니다! – mayasky