![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
dmsovetov |
![]()
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 4.12.2015 Пользователь №: 4495 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Добрый день
![]() Уже второй день мучаюсь с QFileSystemModel - застрял на обработке сигналов rowsMoved/rowsAboutToBeMoved (те что описаны в QAbstractItemModel). Они почему-то не приходят. ![]() Когда я в QTreeView перекидываю файлы/папки из одного места в другое, мне приходят сигналы о том, что сначала элемент был убран из модели, а потом добавлен. Мне это, к сожалению, не подходит, потому что вместе с файлами нужно перемещать автоматически еще и прикрепленную мета-информацию. Вот настройка моего наследника QTreeView
QFileSystemModel стандартный. Заранее спасибо ![]() |
|
|
![]() |
lanz |
![]()
Сообщение
#2
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
Ну что значит велосипед. ОС насколько я понимаю не предоставляет сервиса слежения за перемещением файла:
http://stackoverflow.com/questions/931093/...dification-in-c http://doc.qt.io/qt-4.8/qfilesystemwatcher.html#fileChanged https://en.wikipedia.org/wiki/Inotify https://msdn.microsoft.com/en-us/library/wi...7(v=vs.85).aspx Я не специалист по файловым системам, но то что я вижу - ни одна файловая система не поддерживает напрямую концепцию "перемещения" файла. Да и вообще сама концепция мутная. То что файл пропал из одной папки а появился в другой вовсе не значит что его туда переместили. Возможно это два несвязанных файла. Как быть например если удалился один файл а появились два одинаковых в разных местах? Дублировать метаинформацию? Для вашей задачи сопровождения метаданных я бы смотрел например https://msdn.microsoft.com/en-us/library/wi...4(v=vs.85).aspx Еще интересная ссылка: https://support.microsoft.com/en-us/kb/310316 |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 12.5.2025, 1:37 |