每次将文件从一个位置复制到另一个位置时,我都需要在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 );
}
答案 0 :(得分:1)
您可以简单地获取当前值并添加写入的新字节数。
void MyClass::onWrite(qint64 w)
{
written += w;
progress->setValue(progress->value() + written / 1024);
}