0
하위 폴더로 파일을 복사하는 데 다음 코드가 있습니다. 그러나 항상 첫 번째 20 개 사진 대신 제 폴더에 두 번째 폴더의 첫 번째 폴더에 1-20, 21-40 및 41-60의 복사됩니다QT 폴더 내의 파일을 다른 하위 폴더로 분할
QDir dir(ui->lineEdit->text());
QList<QString> fileNameList;
QFileInfoList files = dir.entryInfoList();
foreach(const QFileInfo &fi, files) {
if(!fi.isDir()) {
if (fi.fileName().endsWith(".JPG")) {
fileNameList.append(fi.fileName());
}
}
}
int parts = (int) (fileNameList.size())/ui->spinBox->value();
qDebug() << "parts=" << parts;
for (int i = 0; i < parts; i++) {
QDir().mkdir(ui->lineEdit->text() + QString("/part%1").arg(i + 1));
for (int l = 0; l < ui->spinBox->value(); l++) {
QFile::copy(ui->lineEdit->text() + "/" + fileNameList.at(l), ui->lineEdit->text() + QString("/part%1").arg(i + 1) + "/" + fileNameList.at(l));
}
}
감사합니다. – user754730
이미지 세트의 겹침은 어떻게합니까? 첫 번째 부분에 이미지 1,2,3,4,5 및 6이 있고 두 번째 부분에는 이미지 4,5,6,7,8 및 9가 있고 세 번째 부분에는 이미지 7, 8,9,10,11,12가있는 것처럼 부품? – user754730
겹치기를 원하면 파트의 수는 다음과 같이됩니다. 'int parts = (int) (fileNameList.size() - overlap)/(ui-> spinBox-> value() - overlap); 그리고 내부 for 루프에있는 파일의 인덱스는 다음과 같습니다 :'int index = i * (ui-> spinbox-> value() - overlap) + l;'. 여기서'overlap '은'3'입니다. – Nejat