传递当前时间变量

时间:2015-06-11 15:21:03

标签: c++ qt qtimer

我正在尝试使用QTimer获取文本编辑框以每5秒显示当前时间。我将当前时间计算在一个单独的方法中,然后让QTimer调用该方法并显示当前时间。我不能为我的生活弄清楚如何将变量从setCurrentTime方法传递给QTimer。我确定这是一个非常简单的解决方案,但我无法弄明白。这是我的代码。

AudioToolbox.framework
AVFoundation.framework
Security.framework

2 个答案:

答案 0 :(得分:0)

如果我的问题正确,你只需要几分钟而不是一秒钟。只需改变" hh:mm:mm"到" hh:mm:ss"

void noheatmode::setCurrentTime()
{
    QTime time = QTime::currentTime();
    QString sTime = time.toString("hh:mm:ss");
    ui->tempTimeNoHeatMode->append(sTime);
}

答案 1 :(得分:0)

使用您的代码:

void noheatmode::on_timeButton_clicked()
{
    QTimer *timer =new QTimer(this);
    connect(timer,SIGNAL(timeout()), this, SLOT(setCurrentTime()));
    timer->start(5000);
    ui->tempTimeNoHeatMode->append(sTime);
}

这意味着SLOT内的函数将每隔5000毫秒调用= 5秒。那么可以做的是你设置你的函数setCurrentTime()以在每次调用时更新你的文本框。

示例:

void Class::setCurrentTime()
{
    QTime times = (QTime::currentTime());
    QString currentTime=times.toString("hh:mm:ss");
    ui->label->setText(currentTime); 
    //Assuming you are using a label to output text, else substitute for what you are using instead
    //Every time this function is called, it will receive the current time 
    //and update label to display the time received
}