Russian Qt Forum
Сентябрь 22, 2024, 13:25 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: метод копирования папки  (Прочитано 15132 раз)
br3d
Гость
« : Июнь 14, 2009, 01:26 »

подскажите, есть ли в какомнибудь из встроенных классов qt метод копирования папки Непонимающий

или как то придется ухищряться через  QFile::copy ( const QString & newName )Непонимающий?
Записан
ритт
Гость
« Ответ #1 : Июнь 14, 2009, 03:06 »

вот оно! а я уж ожидал, что никого эта таска не интересует...
как раз в понедельник собирался ругать троллей Улыбающийся

суть в том, что копирование папки реализовано только для венды и только лишь одним способом (и то, не слишком логичным) - QFile("c:/dirpath").copy("d:/newdirpath")). согласитесь, куфайл, принимающий на вход путь к папке - нелепица...но с этим пока что ничего не поделаешь.

советую не рассчитывать на исправление ситуации до выхода 4.6. поэтому QDirIterator + QFile::copy в зубы - и вперёд.

зы. просяню ситуацию - отпишусь в данной ветке.
Записан
spectre71
Гость
« Ответ #2 : Июнь 14, 2009, 06:15 »

суть в том, что копирование папки реализовано только для венды и только лишь одним способом (и то, не слишком логичным) - QFile("c:/dirpath").copy("d:/newdirpath")). согласитесь, куфайл, принимающий на вход путь к папке - нелепица...но с этим пока что ничего не поделаешь.

А откуда информация что для винды QFile("c:/dirpath").copy("d:/newdirpath")) - работает?
И когда тролли обещают 4.6 версию?
Записан
ритт
Гость
« Ответ #3 : Июнь 14, 2009, 06:31 »

суть в том, что копирование папки реализовано только для венды и только лишь одним способом (и то, не слишком логичным) - QFile("c:/dirpath").copy("d:/newdirpath")). согласитесь, куфайл, принимающий на вход путь к папке - нелепица...но с этим пока что ничего не поделаешь.

А откуда информация что для винды QFile("c:/dirpath").copy("d:/newdirpath")) - работает?
И когда тролли обещают 4.6 версию?

судя по коду, должно работать.
официальных сроков ещё нет, вроде бы...
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #4 : Июнь 14, 2009, 10:37 »

Можно пока через апи сделать.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
ритт
Гость
« Ответ #5 : Июнь 14, 2009, 10:40 »

через какое апи?
Записан
br3d
Гость
« Ответ #6 : Июнь 14, 2009, 11:03 »

хех, в том и проблемма, что для линукса надо ((( Обеспокоенный
Записан
Rcus
Гость
« Ответ #7 : Июнь 14, 2009, 11:12 »

Для Unix образных придется привязываться к какой-нибудь библиотеке, например KIO (http://api.kde.org/4.2-api/kdelibs-apidocs/kio/html/namespaceKIO.html#fc72bd38f53ade4d3a28dfeef35f4065)
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #8 : Июнь 14, 2009, 11:12 »

В винде через винапи.
В Линухе через вызов QProcess->start("/bin/sh cp -r ..........")
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
ритт
Гость
« Ответ #9 : Июнь 14, 2009, 11:23 »

жестоко. а QDirIterator + QFile::copy не канает?
Записан
Rcus
Гость
« Ответ #10 : Июнь 14, 2009, 11:28 »

Конечно жестоко вопроизводить закат солнца вручную Улыбающийся Ладно, умолкаю, ибо понимаю что любое упоминание kdelibs здесь можно воспринимать как толстый троллинг пуристов.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #11 : Июнь 14, 2009, 11:34 »

жестоко. а QDirIterator + QFile::copy не канает?
Это лучший вариант. Но если автору не хочется заморачиваться и писать свою функцию копирования, то мой вариант будет проще.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
ритт
Гость
« Ответ #12 : Июнь 14, 2009, 12:10 »

жестоко.
это я про QProcess.
Записан
br3d
Гость
« Ответ #13 : Июнь 14, 2009, 19:58 »

Всем спасибо !!!!
      буду копаться с итерацией,  не выйтет тогда аоспользуюст идеей на счет QProcess
Записан
spectre71
Гость
« Ответ #14 : Июнь 14, 2009, 22:04 »

Не понимаю в чем проблема.
Ну, нет рекурсивного копирования директории, но есть возможность обхода начиная с заданного пути(даже без всяких встроенных итераторов), создания папок и копирования файлов. Проблема должна решиться написанием 20-50 сторчек кода.

Или я в чем-то не прав?
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.122 секунд. Запросов: 23.