qprogressbar qfile

时间:2010-09-27 12:39:17

标签: qt

每次将文件从一个位置复制到另一个位置时,我都需要在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 个答案:

答案 0 :(得分:1)

您可以简单地获取当前值并添加写入的新字节数。

void MyClass::onWrite(qint64 w)
{
    written += w;
    progress->setValue(progress->value() + written / 1024);
}