Search code examples
c++qtqtimer

passing a current time variable


I am trying to get a text edit box to display the current time every 5 seconds using QTimer. I am having the current time figured in a separate method and then having the QTimer call that method and display the current time. I can not for the life of me figure out how to pass the variable from the setCurrentTime method to the QTimer. Im sure it a really easy fix but I cant figure it out. Here is my code.

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

}

void noheatmode::on_timeButton_clicked()
{


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

Solution

  • If I got your problem right, you just have minutes variable instead of a seconds. Just change "hh:mm:mm" to "hh:mm:ss"

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