Qt эквивалент timeGetTime () - PullRequest
0 голосов
/ 04 мая 2020

Есть ли в библиотеках QT эквивалент функции timeGetTime() заголовка Windows.h? Я sh мой код был максимально независимым от платформы. Я знаю, что заголовок <chrono> существует, но мне хотелось бы что-то, что возвращает значение в DWORD

float AudioThread::br()
{
    QTime tmp(0,0);
    DWORD time = tmp.msecsSinceStartOfDay();
    QWORD pos = BASS_StreamGetFilePosition(chan, BASS_FILEPOS_CURRENT);
        if (pos != lastpos) {
          lasttime = time;
          lastpos = pos;
        }
    }
    qDebug() << tmp.msecsSinceStartOfDay() << pos;
    return 8.0 * (pos - lastpos) / (time - lasttime);
}

Вставка этого кода в QTimer, tmp.msecsSinceStartOfDay() всегда возвращает 0

Можете ли вы помочь мне?

Заранее спасибо

1 Ответ

0 голосов
/ 05 мая 2020

Сложно догадаться, чего вы действительно хотите. Глядя на ваш код, вы устанавливаете tmp на 0, после чего вычисляете разницу tmp (которая по-прежнему равна 0) с 0 (начало дня), что делает вашу переменную time = 0-0 = 0. Совершенно правильно, но не то, что ты хочешь. Если вы хотите узнать текущее время, вы можете использовать

QTime tm = QTime::currentTime();
DWORD dtime = tm.msecsSinceStartOfDay();

Кстати: я бы не использовал переменную с именем time, так как это может создать путаницу с библиотечной функцией time(). Я видел очень странное поведение после использования переменной с именем 'time'.

...