Qt qprogressbar qfile

Qt qprogressbar qfile,qt,Qt,每次文件从一个位置复制到另一个位置时,我都需要在qt中增加progressbar。示例:要复制的文件有64个。如何让progressbar知道增量的数量。下面是帮助代码。你能把它用完吗 class MyClass : ... { ... public slots: void onWrite( qint64 ); }; MyClass::MyClass( ... ) { // ... progress->setMaximum( QFileInfo(fromFile)

每次文件从一个位置复制到另一个位置时,我都需要在qt中增加progressbar。示例:要复制的文件有64个。如何让progressbar知道增量的数量。下面是帮助代码。你能把它用完吗

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

您只需获取当前值并添加写入其中的新字节数即可

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

你能重新格式化你的问题使其可读吗?类MyClass:。。。{…公共插槽:void onWrite(qint64);};MyClass::MyClass(…){/…progress->setMaximum(QFileInfo(fromFile).size()/1024);writed=0;connect(&toFile,SIGNAL(byteswrited(qint64)),SLOT(onWrite(qint64));//…}void MyClass::onWrite(qint64 w){writed+=w;progress->setValue(writed/1024);}每次文件从一个位置复制到另一个位置时,progressbar都应该反映它。例如,有64个文件要从本地复制到服务器。如何让progressbar知道增量的数量。我在QT论坛上找到了上面的代码。我是个新手,不能完全理解它。你能帮我完成这幅画吗。谢谢主题:RE:如何在QprogressBar上显示QFile的复制进度?你能否建议一个链接,向我详细解释这一点。这也将帮助我理解这个概念。非常感谢。