Linux за българи: Форуми

Програмиране => Общ форум => Темата е започната от: LinuxFanUNIX в Jun 05, 2010, 17:48



Титла: Копиране на папка с Qt4
Публикувано от: LinuxFanUNIX в Jun 05, 2010, 17:48
Добър вечер.

Налага ми се да направя функция в едно мое приложение което да копира папка в друга папка, обаче нещо не мога да намеря информация как да стане това... Смятам че с QDir() трябва да стане, но четейки документацията не намирам начин да стане. Имайте впредвид че тази папка, вътре има и други папки, така че възможността да създам нова папка и с QFile::copy() да изкопирам файловете - отпада.

Код
GeSHi (C++):
  1. void MainWindow::copyDir() {
  2.    QDir dir("/root/.xba-folder");
  3.    // и тук искам да допълня кода с нещо то рода на copy("/root/.xba-folder", "/root/.xba-tmp-backup")
  4. }

Надявам се, сте ме разбрали. Та има ли възможност да стане това което желая? :)
Благодаря Ви предварително!


Титла: Re: Копиране на папка с Qt4
Публикувано от: task_struct в Jun 05, 2010, 19:00
Първи линк в Google при търсене на "coping directories with qt" - http://lists.trolltech.com/qt-interest/2003-05/thread01274-0.html


Четвърти линк пак там - http://stackoverflow.com/questions/2536524/copy-directory-using-qt

Има поне 2-3 примера как може да се направи. Плюс това винаги може да изпозлваш KJob от kdelibs или да му хвърлиш 1 поглед на кода и да си направиш твоя имплементация :)



Титла: Re: Копиране на папка с Qt4
Публикувано от: LinuxFanUNIX в Jun 05, 2010, 22:00
Така, опитах това от втория пример, обаче се получава недоразумение...

Аз трябва да извикам функцията recurseAddDir(QDir d, QStringList & list), обаче не мога да разбера от къде трябва да дойде това QStringList, при положение че аз имам само два QString-а: един с входяща папка, друг с изходяща папка

Ако имаш време и възможност - Помогни...

Благодаря предварително!


Титла: Re: Копиране на папка с Qt4
Публикувано от: task_struct в Jun 05, 2010, 22:26
В началото recurseAddDir получва директорията, която искаш да копираш и празен QStringList, където ще се запазят пълните имена на файловете за копиране. След като завърши изпълнението на функцията ще имаш QStringList със всички файлове, после просто пускаш един цикъл през него и копираш със QFile::copy(). Разгледай промера, който е даден :)  [_]3