2010-06-17 5 views
0

QTimeEdit을 일부 값으로 설정하고 각각의 초마다 QTimeEdit를 나타내는 값을 1 줄이려고합니다. 따라서 0이 될 때, "Your time is off."라는 QMeesageBox를 갖고 싶습니다. 어떻게하면 QTimeEdit 인터페이스로 이것을 할 수 있습니까, 아니면 QTimer를 사용해야합니까?Qt - 타이머 뷰어로 QTimeEdit

답변

3

시간 표시에 QTimeEdit을 사용할 수 있지만 매 초마다 시간을 줄이려면 QTimer을 사용해야합니다. (INT의들)이 작동하지 않습니다

timeEdit->setTime(...); //set initial time 
QTimer timer; 
timer.start(1000); //timer will emit timeout() every second 
connect(&timer, SIGNAL(timeout()), this, SLOT(slotTimeout())); 

void slotTimeout() 
{ 
    QTime time = timeEdit->time().addSecs(-1); 
    timeEdit->setTime(time); 

    if (time == QTime(0, 0)) 
     //time is zero, show message box 
} 
+0

addSecs :

은 당신이 뭔가를 할 수 있습니다. Qt 4.6.2를 사용하고 있습니다. 이 문제를 겪은 사람이 있습니까? – Narek

+0

Woops 미안 해요 내 대답에 오류가 발생했습니다. 이제 해결되었습니다. – Job

+0

또한 2 분을 넣었습니다. 0 초가 오면 "if"문구가 없습니다. 이유를 이해할 수 없습니다. – Narek