2010-12-14 1 views
0

QGraphicsView/Scene에서 위젯을 드래그 할 수있는 GUI 응용 프로그램이 있습니다. 위젯을 드래그하지 않는 동안에도 이동하고 확대/축소 할 수 있습니다.QDragEvent 문제가있는 QTimer

내가 원하는 것은 : 내가 그것을 만들고 싶어 당신이 그 방향으로 이동하기 시작하는 화면의 가장자리 근처에 항목을 드래그하고 패닝 계속하면 마우스가 이동되지 않은 경우에도 있도록 , 마우스는 화면 상단/왼쪽/오른쪽 또는 하단 10 %에 있어야합니다.

내가 시도한 것 : dragMoveEvent 내부에서 마우스가 화면 가장자리에 있는지 확인합니다. 그렇다면 15msec 타임 아웃으로 Qtimer를 시작합니다. 타임 아웃시, 함수는 중앙을 업데이트함으로써 씬을 오른쪽 방향으로 팬하도록 슬롯이 지정됩니다. 이 접근 방식은 작동하지만, 마우스를 여전히 가장자리에두면 패닝이 고르지 만 마우스가 가장자리 안쪽으로 움직이는 경우 패닝이 매끈 매끈합니다.

하단 : 왜 마우스가 움직이지 않을 때 패닝 만 고르지 않거나 지연 되는가? 가장자리 안쪽으로 마우스를 움직일 때와 같이 패닝이 부드럽게 진행되도록 수정하려면 어떻게해야합니까?

답변

0

시간 제한을 늘리거나 줄일 때 어떻게됩니까?

+0

타임 아웃이 더 낮을 때 더 두드러지고 타임 아웃이 높을수록 덜 두드러지기 때문에 지연됩니다. – Simon17