ListView & QMimeData &QClipboard, Копирование, вырезание вставка |
Здравствуйте, гость ( Вход | Регистрация )
ListView & QMimeData &QClipboard, Копирование, вырезание вставка |
enslaver |
6.4.2010, 21:54
Сообщение
#1
|
Студент Группа: Участник Сообщений: 30 Регистрация: 25.3.2010 Пользователь №: 1565 Спасибо сказали: 0 раз(а) Репутация: 0 |
Как связать все эти вещи?
Имеется QListView связанная с QDirModel. Как вставить в нее объект типа QMimeData. Видел там функцию
Но так и не разобрался как с ней работать, в частности нужно или нет и откуда вообще брать (int row, int column).... |
|
|
DIMEDROLL |
6.4.2010, 22:03
Сообщение
#2
|
Участник Группа: Участник Сообщений: 165 Регистрация: 28.9.2008 Из: Киев Пользователь №: 304 Спасибо сказали: 23 раз(а) Репутация: 0 |
а что нужно сделать? скопировать файл?
|
|
|
enslaver |
7.4.2010, 11:06
Сообщение
#3
|
Студент Группа: Участник Сообщений: 30 Регистрация: 25.3.2010 Пользователь №: 1565 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
DIMEDROLL |
7.4.2010, 11:29
Сообщение
#4
|
Участник Группа: Участник Сообщений: 165 Регистрация: 28.9.2008 Из: Киев Пользователь №: 304 Спасибо сказали: 23 раз(а) Репутация: 0 |
копирование, перемещение, вырезание и вставку(файл и папка). я просто не понимаю как вставить имеющеюся QMimeData через QDirModel. помоему QDirModel этим не занимается, он просто отображает данные... посмотри в сторону QFile::copy() - это для копирования файлов, а для папок вероятно прийдется самому написать код |
|
|
Litkevich Yuriy |
7.4.2010, 11:47
Сообщение
#5
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
помоему QDirModel этим не занимается, он просто отображает данные ну в описании не сказано, что это модель "только для чтения". И у неё переопределён метод dropMimeData, стало быть "броски" принимает. А какие именно можно посмотреть с помощью virtual Qt::DropActions supportedDropActions () constДругое дело - она формально устарела, вместо неё рекомендуют использовать QFileSystemModel |
|
|
enslaver |
7.4.2010, 20:32
Сообщение
#6
|
Студент Группа: Участник Сообщений: 30 Регистрация: 25.3.2010 Пользователь №: 1565 Спасибо сказали: 0 раз(а) Репутация: 0 |
помоему QDirModel этим не занимается, он просто отображает данные ну в описании не сказано, что это модель "только для чтения". И у неё переопределён метод dropMimeData, стало быть "броски" принимает. А какие именно можно посмотреть с помощью virtual Qt::DropActions supportedDropActions () constДругое дело - она формально устарела, вместо неё рекомендуют использовать QFileSystemModel Я ставил QFileSystemModel но что то с ним даже представление не отображается а просто пусой виджет... но как факт он тоже имет такую же функцию
вообще в QMimeData содержаться имена файлов и папок. вот и как с ними бить? тобишь имеем имена, и что с ними дальше делать? в какую из функции направить? и не думаю что QDirModel устарел, так как QFileSystemModel появился только в 4.4[quote]This class was introduced in Qt 4.4/quote] |
|
|
Litkevich Yuriy |
8.4.2010, 5:26
Сообщение
#7
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
QDirModel устарел, так как QFileSystemModel где-то у тролей было обсуждение про него, из которого я сделал вывод, что следует использоватьQNetWorkManager вместо QHttp QFileSystemModel вместо QDirModel ... (ещё несколько классов) вроде как QDirModel медленный Я ставил QFileSystemModel но что то с ним даже представление не отображается а просто пусой виджет сейчас проверил на примере examples\itemviews\dirviewтам нужно такой код написать вместо QDirModel model;: модель ничего не делает после создания, если для неё этот метод не вызван. Правда описания этого метода я не понял.enslaver, посмотри примеры по "перетаскиванию" (drag-n-drop), может там что-то найдёшь по своей теме. Ещё есть статья про MimeData: Как передавать через буфер обмена произвольные типы данных? Может пригодится |
|
|
enslaver |
8.4.2010, 11:03
Сообщение
#8
|
Студент Группа: Участник Сообщений: 30 Регистрация: 25.3.2010 Пользователь №: 1565 Спасибо сказали: 0 раз(а) Репутация: 0 |
Литература есть... вот только объяснить некому конкретный случай.
так то по соображениям сделал через QFile::copy() и QDir::mkdir(). но пока что не совсем рабоче... Использовал как основу функцию удаления файлов и папок.... Как будет код выложи, а пока может кто что лучше предложит... |
|
|
Текстовая версия | Сейчас: 28.11.2024, 20:51 |