Russian Qt Forum

Qt => Общие вопросы => Тема начата: robin_bobin от Октябрь 10, 2012, 13:27



Название: отображения прогресса при копировании файла
Отправлено: robin_bobin от Октябрь 10, 2012, 13:27
1) Можно ли узнать, сколько байт скопировано/перенесено во время копирования/перенесения фала QFile::Copy/QFile::Rename? 2) можно ли как-то узнать прогресс удаления файла?


Название: Re: отображения прогресса при копировании файла
Отправлено: Пантер от Октябрь 10, 2012, 13:35
1. Нет.
2. Нет.


Название: Re: отображения прогресса при копировании файла
Отправлено: mutineer от Октябрь 10, 2012, 13:36
1) Вроде бы нет
2) Прогресс удаления файла - это как? он же не побайтно удаляется


Название: Re: отображения прогресса при копировании файла
Отправлено: OKTA от Октябрь 12, 2012, 10:16
а вот сразу вопрос - когда я скачиваю файл, то прогресс скачки лучше всего через QAbstractSocket::bytesAvailable () и размеру файла определять или есть и другой способ? А то этот врет периодически, точнее практически всегда 0_о


Название: Re: отображения прогресса при копировании файла
Отправлено: Пантер от Октябрь 12, 2012, 10:31
Откуда скачиваешь? Чем скачиваешь?


Название: Re: отображения прогресса при копировании файла
Отправлено: OKTA от Октябрь 12, 2012, 10:43
qtcpsocket с pop3


Название: Re: отображения прогресса при копировании файла
Отправлено: mutineer от Октябрь 12, 2012, 10:47
У тебя есть полный размер файла и количество уже прочитанных тобой из сокета байт. Все что нужно уже есть


Название: Re: отображения прогресса при копировании файла
Отправлено: OKTA от Октябрь 12, 2012, 10:51
ну так-то оно  так, но разве QAbstractSocket::bytesAvailable () показывает реальный размер? ведь там уверен и часть служебных данных, которые не стоит учитывать?


Название: Re: отображения прогресса при копировании файла
Отправлено: mutineer от Октябрь 12, 2012, 10:52
зачем тебе bytesAvailable() ? Учитывай сколько ты уже реально из сокета прочитал, а не сколько там еще доступно


Название: Re: отображения прогресса при копировании файла
Отправлено: OKTA от Октябрь 12, 2012, 10:55
кхм, действительно  ;D вот  я овощ)))


Название: Re: отображения прогресса при копировании файла
Отправлено: mitrich от Октябрь 14, 2012, 16:07
Кстати, насчет прогресса при копировании файла: Это все-таки можно сделать, копируя при помощи QtFileCopier. Cм. классы QtFileCopier и QtCopyDialog из Qt Solutions.

ftp:// ftp.qt.nokia.com/qt/solutions/lgpl/qtcopydialog-2.2_1-opensource.zip


Название: Re: отображения прогресса при копировании файла
Отправлено: FluffyMan2000 от Октябрь 14, 2012, 17:34
недавно сталкивался с этим. смотри эту тему http://www.prog.org.ru/topic_23214_0.html (http://www.prog.org.ru/topic_23214_0.html)


Название: Re: отображения прогресса при копировании файла
Отправлено: robin_bobin от Октябрь 16, 2012, 10:21
накопал ссылку
http://www.qtforum.org/article/24548/how-to-display-the-copy-progress-of-qfile-on-qprogressbar.html (http://www.qtforum.org/article/24548/how-to-display-the-copy-progress-of-qfile-on-qprogressbar.html)

человек в конце пишет что у него получилось, правда я не могу разобраться как это сделать. подскажите, может всё-таки можно прогресс показать у qfile::copy?


Название: Re: отображения прогресса при копировании ф&#
Отправлено: mutineer от Октябрь 16, 2012, 10:31
qFile::copy() это блокирующая функция, нельзя ее прогресс отобразить


Название: Re: отображения прогресса при копировании файла
Отправлено: Igors от Октябрь 16, 2012, 10:39
Посмотрим с др. стороны

1) Написание своего копирования файла (типа "позорный велосипед"). Час, ну максимум 2 при недостатке опыта. Проблем с прогрессом никаких

2) Использование готовых ф-ций (типа "умный, ловкий, грамотный"). Обсуждение длится уже почти неделю, но решения пока не видно.

Выводы?  :)