qprogressbar qfile - PullRequest
       1

qprogressbar qfile

0 голосов
/ 27 сентября 2010

Мне нужно увеличивать прогрессбар в qt каждый раз, когда файл копируется из одного места в другое.Пример: 64 файла для копирования.Как это возможно, чтобы индикатор выполнения знал сумму увеличения на.Ниже приведен код помощи.Не могли бы вы исчерпать это.

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 );
}

1 Ответ

1 голос
/ 27 сентября 2010

Вы можете просто получить текущее значение и добавить новое количество записанных байтов.

void MyClass::onWrite(qint64 w)
{
    written += w;
    progress->setValue(progress->value() + written / 1024);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...