QTime ведет себя по-разному на платформах linux и windows - PullRequest
0 голосов
/ 04 августа 2020

У меня такой же код Qt, который работает как в linux, так и в windows. Но в каждом случае он действует по-разному. В linux он ведет себя правильно, а в windows - нет.

In linux it is behaving as follows

В Windows он ведет себя следующим образом

вы можете видеть, что на платформе windows он возвращает пустую строку, а на платформе linux он ведет себя так, как ожидалось. В чем может быть причина?

1 Ответ

2 голосов
/ 04 августа 2020

Конструктор по умолчанию QTime создает время invalid, большинство операций с недопустимым временем завершатся ошибкой или вернут другое недопустимое время. Вызов addSecs по-прежнему оставляет вам недопустимое время, а вызов toString в недопустимое время возвращает пустую строку.

Чтобы построить QTime полуночи, вам необходимо использовать:

QTime time(0,0);
...