Мне нужно увеличить progressbar в qt каждый раз, когда файл копируется из одного места в другое. Например, необходимо скопировать 64 файла. Как можно допустить, чтобы уровень прогресса знал, что количество увеличивается. Ниже приведен код помощи. Не могли бы вы его исчерпать.qprogressbar qfile
class MyClass : ...
{
...
public slots:
void onWrite(qint64);
};
MyClass::MyClass(...)
{
// ...
progress->setMaximum(QFileInfo(fromFile).size()/1024);
written = 0;
connect(&toFile, SIGNAL(bytesWritten(qint64)), SLOT(onWrite(qint64)));
// ...
}
void MyClass::onWrite(qint64 w)
{
written += w;
progress->setValue(written/1024);
}
Не могли бы вы переформатировать свой вопрос, чтобы он был читабельным? – tibur
класс MyClass: ... { ... общественные слоты: void onWrite (qint64); }; MyClass :: MyClass (...) { // ... progress-> setMaximum (QFileInfo (fromFile) .size()/1024); письменный = 0; connect (& toFile, SIGNAL (bytesWritten (qint64)), SLOT (onWrite (qint64))); // ... } void MyClass :: onWrite (qint64 w) { письменный + = w; progress-> setValue (написано/1024); } – nish
Каждый раз, когда файл копируется из одного места в другое, индикатор прогресса должен отражать его. Например, есть 64 файла для копирования из локального сервера. Как можно допустить, чтобы уровень прогресса знал, что количество увеличивается. Я нашел приведенный выше код на qtforum. Я, будучи новичком, не понимаю его в полном объеме. Могу ли я завершить картину для меня. Спасибо subject: RE: Как показать ход выполнения QFile на QProgressBar – nish