[SOLVED]
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
//…
display = new QLabel(this);
display->setGeometry(4,4,88,23);
display->setText("00:00:00");
//…
player = new QMediaPlayer;
connect(player, SIGNAL(mediaStatusChanged(QMediaPlayer::MediaStatus)),
this, SLOT(playerOnMediaStatusChanged(QMediaPlayer::MediaStatus)));
//…
timer = new QTimer;
timer->setTimerType(Qt::PreciseTimer);
connect(timer, SIGNAL(timeout()), this, SLOT(timerSlot()));
//…
}
void MainWindow::playerOnMediaStatusChanged(QMediaPlayer::MediaStatus status) {
if (status == QMediaPlayer::BufferedMedia) {
pos = -1; //int pos declared on .h file
timer->start(1000);
}
}
void MainWindow::timerSlot() {
pos = pos + 1;
QTime time((pos/3600)%60, (pos/60)%60, pos%60);
display->setText(time.toString("hh:mm:ss"));
}