2015-01-23 1 views
-1

Мне нужно получить размер файла во время его создания.Получить размер файла во время генерации в QT

Я пробовал использовать QThread и QFileInfo::size и while с флагом, который сигнализирует, когда готовый файл, но значение никогда не изменяется.

Так было интересно, можете ли вы взять размер файла во время его создания.

+1

предоставьте более подробную информацию. как создается файл или кто его генерирует? ваше приложение или любой процесс в системе? также, если вы пытаетесь просмотреть любой файл любым приложением, то не забывайте, что размер файла может быть несколько ненадежным, так как приложение уже могло написать что-то, что все еще кэшировано где-то и не достигло фактического файла системы еще. – mooware

ответ

6

От Qt docs:

Примечание: Чтобы ускорить работу, QFileInfo кэширует информацию о файле. Поскольку файлы могут быть изменены другими пользователями или программами или даже другими частями одной и той же программы, есть функция, которая обновляет информацию о файле: refresh(). Если вы хотите отключить кеширование QFileInfo и заставить его обращаться к файловой системе каждый раз, когда вы запрашиваете у нее информацию, вызовите setCaching (false).

Так что попробуйте функцию QFileInfo::refresh() перед (повторной) проверкой размера файла.

+0

Он работал точно так, как ожидалось, спасибо TWE. –

Смежные вопросы