0
회전 된 경우 시계 방향 또는 반 시계 방향으로 회전 한 QDial
이 (포장 속성이 true로 설정된) 만약 내가 감지 할 수있는 어떤 방법이 있나요 찾기?QDial 시계 방향 또는 반 시계 방향으로
회전 된 경우 시계 방향 또는 반 시계 방향으로 회전 한 QDial
이 (포장 속성이 true로 설정된) 만약 내가 감지 할 수있는 어떤 방법이 있나요 찾기?QDial 시계 방향 또는 반 시계 방향으로
은 QDial
포장의 0 최소 100 최대를 보자. 두 개의 연속적인 값 변경의 차이가 양수이면 반 시계 방향 회전이 있습니다. 시계 방향 회전이 없으면 (실제 값으로 조정해야합니다)
QDial
의 하위 클래스에 sliderMoved
신호를 사용해야합니다 :
는 회전이이 신호는 sliderDown이 true이고 슬라이더가 움직일 때 방출됩니다. 이것은 대개 사용자가 슬라이더를 끌 때 발생합니다. 값 이 새 슬라이더 위치입니다.
추적이 꺼진 경우에도 신호가 방출된다.
connect(this, SIGNAL(sliderMoved(int)), this, SLOT(calculateRotationDirection(int)));
void calculateRotationDirection(int v)
{
int difference = previousValue - v;
// make sure we have not reached the start...
if (v == 0)
{
if (previousValue == 100)
direction = DIRECTION_CLOCKWISE;
else
direction = DIRECTION_ANTICLOCKWISE;
}
else if (v == 100)
{
if (previousValue == 0)
direction = DIRECTION_ANTICLOCKWISE;
else
direction = DIRECTION_CLOCKWISE;
}
else
{
if (difference > 0)
direction = DIRECTION_ANTICLOCKWISE; // a simple enum
else if (difference < 0)
direction = DIRECTION_CLOCKWISE;
}
previousValue = v; // store the previous value
}
지금 당신은 당신의 서브 클래스의 direction
속성을 반환하는 함수를 추가 할 수 있습니다 시계 방향 또는 반 시계 방향 인 경우 계산하는 슬롯으로이 신호를 연결합니다.