我有一个 QTimeEdit,我想将其设置为某个值,并且每一秒我都想将显示 QTimeEdit 的值减 1。所以当它为 0 时,我想要一个 QMeesageBox,上面写着“你的时间已经结束了。”。我可以通过 QTimeEdit 界面实现这一点,还是应该使用 QTimer?
最佳答案
您可以使用 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
}
关于c++ - Qt - QTimeEdit 作为计时器查看器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3059768/