2010-07-12 10 views
1

J'ai besoin de copier un certain nombre de fichiers d'image d'un emplacement donné à un répertoire donné, j'ai besoin du nom de fichier d'origine préservée.Comment copier un fichier image dans Qt?

peut-il être quelque chose comme URL-> copie (img14, CheminImg);

où img14 est le chemin vers le fichier contenant le nom et le CheminImg est le répertoire de destination.

img14 peut être: /home/obscurant1st/Downloads/aaa.jpeg ou C: \ abcd \ asada.jpeg

Plase Note: Je dois utiliser des variables. Je ne peux pas utiliser le chemin exact dans le code!

+0

Quelles sont les variables parlez-vous? Voulez-vous dire les variables d'environnement? –

Répondre

11

Utilisez QFile::copy. Notez que les deux paramètres sont des chemins de fichier complets. Vous devez donc créer le chemin du fichier de destination en utilisant le répertoire de destination et le nom du fichier source. Et il QFileInfo::fileName() sera probablement utile.

Edit:

Il suffit de créer une fonction qui obtient le chemin du fichier source et le répertoire de destination:

bool CopyFile(const QString& sourceFile, const QString& destinationDir) 
{ 
    QFileInfo fileInfo(sourceFile); 
    QString destinationFile = destinationDir + QDir::separator() + fileInfo.fileName(); 
    bool result = QFile::copy(sourceFile, destinationFile); 
    return result; 
} 
+0

J'ai besoin d'utiliser des variables! Donc, cela ne fonctionnera pas. A partir de maintenant j'essaie QProcess avec StartDetached ("cp", QStringList() << var << var2). Mais s'il y a un autre moyen sans utiliser les commandes du système, SVP faites le moi savoir! :) – defiant

+1

Vous devez créer une variable chaîne contenant le chemin d'accès complet. – mskfisher

+0

thx man, maintenant avec cette partie éditée cela fonctionne excellent. :) C'est ce que je voulais! – defiant