QFile::copy() 的进度条?

2023-11-22

我正在制作一个在 Qt 中复制文件的程序。我想知道我该如何使用QProgressBar with bool QFile::copy(const QString & fileName, const QString & newName)。这是否有可能copy功能?复制过程可以暂停吗?


您不能使用静态 QFile::copy() 方法来执行此操作。

正如 Maciej 之前所说,您需要编写自己的类。它应该使用两个 QFile 对象,一个用于读取,一个用于写入。分部分传输数据(例如整个文件大小的 1%),并在每个部分后发出进度信号。您可以将此信号连接到进度对话框。

如果您需要它在后台工作,您应该使用 QThread 来实现它。

首先尝试确定您是否需要一个异步(不阻止 GUI)或同步(阻止 GUI)执行复制工作的类。后者更容易编程,但大多数时候并不是预期的那样(例如,如果 GUI 被阻止,则无法通过单击按钮取消或暂停复制操作)。

您可以在这里查看相当广泛的 Qt 4 类:http://docs.huihoo.com/qt/solutions/4/qtcopydialog/qtfilecopier.html但由于其复杂性,我不确定这是否会有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QFile::copy() 的进度条? 的相关文章

随机推荐