我正在制作一个在 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(使用前将#替换为@)