我想使用以下代码复制QFile
的文本文件:
void MainWindow::on_pushButton_4_clicked()
{
QFile::copy("C:/p/text.txt", "C:/p/text1.txt");
}
构建它时没有错误,但是当我运行程序时,没有任何反应。
以下是完整的源代码:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QfileDialog>
#include <QFile>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
int currentIndex = 0;
void MainWindow::on_pushButton_2_clicked()
{
ui->lineEdit->setText(QFileDialog::getExistingDirectory());
}
void MainWindow::on_pushButton_clicked()
{
currentIndex ++;
ui->stackedWidget->setCurrentIndex(currentIndex);
}
void MainWindow::on_pushButton_3_clicked()
{
currentIndex --;
if(currentIndex < 0)
{
currentIndex ++;
}
ui->stackedWidget->setCurrentIndex(currentIndex);
}
void MainWindow::on_pushButton_4_clicked()
{
QFile::copy("C:/p/text.txt", "C:/p/text1.txt");
}
什么可能导致这种奇怪的行为?
答案 0 :(得分:0)
我注意到了同样的问题,似乎copy()的实现并不好。它以某种方式认为你没有足够的许可来复制,即使你有。某些Windows权限冲突。
没有好的解决方法,但您可能会尝试通过重做整个过程来复制文件(它有时会起作用):
远非完美,但有时它有效。