0
我有一個QTimeEdit,我想設置一些值,每秒我想減1顯示QTimeEdit的值。所以當它是0時,我想要有一個QMeesageBox,上面寫着「你的時間已經到了」。我可以用QTimeEdit接口怎麼做,或者我應該使用QTimer?Qt - QTimeEdit作爲定時器查看器
我有一個QTimeEdit,我想設置一些值,每秒我想減1顯示QTimeEdit的值。所以當它是0時,我想要有一個QMeesageBox,上面寫着「你的時間已經到了」。我可以用QTimeEdit接口怎麼做,或者我應該使用QTimer?Qt - QTimeEdit作爲定時器查看器
您可以使用QTimeEdit
來顯示時間,但您必須使用QTimer
來減少每秒的時間。
你可以做這樣的事情:
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
}
addSecs(int類型)不起作用。我正在使用Qt 4.6.2。有沒有人遇到過這個問題? – Narek 2010-06-18 18:09:22
Woops對不起在我的回答中發生了錯誤。現在已經修復了。 – Job 2010-06-18 19:29:00
另外,我已經把2分鐘,它談到0秒,並沒有進入「如果」的聲明。不明白爲什麼。 – Narek 2010-06-19 06:44:35